[delphi-br] Re: Usando dbexpress e clientDataset

2008-08-15 Por tôpico Carlos
Sempre as ordens!



[delphi-br] Re: Usando dbexpress e clientDataset

2008-08-15 Por tôpico crist_ita
Bom dia a todos

Carlos funcionou muito bem, eu já estava há algum tempo tentando 
entender como se passava uma consulta sql usando dbexpress e 
clientDataset.

Vou dar uma estudada na apostila do Bruno Lichot. Valeu a dica.
 
Muito grato mesmo!!




[delphi-br] Re: Usando dbexpress e clientDataset

2008-08-14 Por tôpico Carlos
Boa noite!
Me desculpe, não sou expert, mas apesar do título, você não está
usando o ClientDataSet para efetuar a consulta, e sim, o SqlDataSet e
no ClientDataSet você está apenas exibindo o resultado desta consulta.
Acontece que o SqlDataSet é um componente Unidirecional, não sendo
possível navegar pelos registros, então você deve fazer o seguinte:
SqlDataSet->DataSetProvider->ClientDataSet-DataSource
Na propriedade Options do DataSetProvider deve ser habilitada a opção
AllowCommandText, e a consulta deve ser realizada no ClientDataSet que
é Bidirecional, que no seu caso ficaria mais ou menos assim:

procedure TfrmAgenda.Calendario; 
begin 
 mostraData := FormatDateTime('dd-mm-', MonthCalendar1.Date); 
 mostraRegiao := ComboBox1.Text; 
 cdsConAgenda.Close; 
 cdsConAgenda.CommandText := '';//esta linha é desnessária, mas uso
por hábito
 cdsConAgenda.CommandText := 'SELECT a.hora FROM calendario a INNER
JOIN '+
   'calendario b ON a.controle = b.controle where b.dataagenda = '+
    + FoematDateTime('dd-mm-', MonthCalendar1.Date) + ''' and ' +
   ' b.zonaatuacao = ''' + ComboBox1.Text + ;
 cdsConAgenda.Open; 
end; 

Espero ter ajudado, mas qualquer dúvida, estamos ai!
Fraterno abraço,
Carlos