SQL Varias Consultas com apenas 4 Componentes.
olá Colegas!
Tenho que fazer 4 consultas diferentes: duas por nome e duas por intervalo de data, é um sistema de agendamento de exames então fica assim:
2 consultas por nome (Paciente e nome do exame).
2 consultas por data ( Dta do Exame, Dta de agendamento)
Coloquei 4 Componentes:
SQLQuery - DataSetProvider - ClientDataSet - DataSource
Quando Vou fazer as pesquisas, No botão Somente altero a propriedade SQL do SQLQuery, por exemplo:
1) As Consultas por nome :
QRY_PESQUISAS.SQL.Add(´select * from AGENDA where(ID_CLIENTE=´+edt_ID_CLIENTE.Text+´ ) order by DT_EXAME´);
2) Nas consultas por data tentei colocar:
QRY_PESQUISAS.SQL.Add(´select * from AGENDA where((DT_EXAME >=´+edit_data1+´)AND(DT_EXAME <=´+edit_data2+´)) order by HORA´);
Mas quando mando o Active do SQLQuery ficar TRUE, Ocorre Um erro de Converção assim:
Conversion error from string ´0´
Será que tem uma maneira melhor de fazer isto?? Alguem pode me ajudar?? Agradeço desde já.
Um abraço.
Tenho que fazer 4 consultas diferentes: duas por nome e duas por intervalo de data, é um sistema de agendamento de exames então fica assim:
2 consultas por nome (Paciente e nome do exame).
2 consultas por data ( Dta do Exame, Dta de agendamento)
Coloquei 4 Componentes:
SQLQuery - DataSetProvider - ClientDataSet - DataSource
Quando Vou fazer as pesquisas, No botão Somente altero a propriedade SQL do SQLQuery, por exemplo:
1) As Consultas por nome :
QRY_PESQUISAS.SQL.Add(´select * from AGENDA where(ID_CLIENTE=´+edt_ID_CLIENTE.Text+´ ) order by DT_EXAME´);
2) Nas consultas por data tentei colocar:
QRY_PESQUISAS.SQL.Add(´select * from AGENDA where((DT_EXAME >=´+edit_data1+´)AND(DT_EXAME <=´+edit_data2+´)) order by HORA´);
Mas quando mando o Active do SQLQuery ficar TRUE, Ocorre Um erro de Converção assim:
Conversion error from string ´0´
Será que tem uma maneira melhor de fazer isto?? Alguem pode me ajudar?? Agradeço desde já.
Um abraço.
Daniel Martins
Curtidas 0
Respostas
Weber
13/09/2004
Não sei qual banco de dados você está usando, mas em interbase/firebird as datas devem ser passadas em formato americano.
FormatDateTime(´mm/dd/yyyy´,StrToDate(MaskEdit1.Text))
GOSTEI 0