Consulta usando DateTimePicker
Como q eu faço para fazer uma consulta usando o DateTimePicker1
digamos q tenho uma tabela cliente, quero pegar os clientes cadastrados entre duas datas
usaria select * from cliente where data1 between data2
e usando o DateTimePicker1 xcomo faço?
valeu galera!!!!
digamos q tenho uma tabela cliente, quero pegar os clientes cadastrados entre duas datas
usaria select * from cliente where data1 between data2
e usando o DateTimePicker1 xcomo faço?
valeu galera!!!!
Luiz_aquino
Curtidas 0
Melhor post
Vinicius2k
13/12/2004
Colega,
A instrução SQL parametrizada :
A passagem de parametros para a Query :
Espero ter ajudado...
T+
A instrução SQL parametrizada :
select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal
A passagem de parametros para a Query :
with SuaQuery do begin Close; ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date; ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date; Open; end;
Espero ter ajudado...
T+
GOSTEI 1
Mais Respostas
Luiz_aquino
12/12/2004
fiquei meio confuso
A instrução SQL parametrizada :
Código:
select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal
devo fazer estilo
query.close;
query.sql.add(´select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal ´);
query.open;
ou so coloco na string da query?
e depois
passagem de parametros para a Query :
Código:
with SuaQuery do
begin
Close;
ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date;
ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date;
Open;
end;
outra duvida, pq quando vou fazer um consulta em sql os campo so aceitam string exemplo select * from cliente wher codigo = ´´+Edit1.TExt+´´
onde esta o edit soh aceita string, não pode ser um int ou um date mesmo, na instrução q vc passo :datainicial, se ele não é uma string não vai dar erro?
valeu!!!!
A instrução SQL parametrizada :
Código:
select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal
devo fazer estilo
query.close;
query.sql.add(´select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal ´);
query.open;
ou so coloco na string da query?
e depois
passagem de parametros para a Query :
Código:
with SuaQuery do
begin
Close;
ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date;
ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date;
Open;
end;
outra duvida, pq quando vou fazer um consulta em sql os campo so aceitam string exemplo select * from cliente wher codigo = ´´+Edit1.TExt+´´
onde esta o edit soh aceita string, não pode ser um int ou um date mesmo, na instrução q vc passo :datainicial, se ele não é uma string não vai dar erro?
valeu!!!!
GOSTEI 0
Luiz_aquino
12/12/2004
ahh tbm uma coisa, a datainicial e datafinal são variaveis ou campos de uma tabela?
GOSTEI 0
Vinicius2k
12/12/2004
Colega,
Todo o trabalho de conversão será efetuado pela aplicação e vc não precisará se preocupar com qual formato banco aceita, e nem com configurações regionais do S.O.
T+
devo fazer estilo
ou so coloco na string da query?
e depois
passagem de parametros para a Query :
Tanto faz... tanto vc pode fixar esta SQL diretamente no componente, ou passá-lo em runtime... fica a seu critério.
A única coisa que vc precisa fazer é informar os valores para os parametros antes de abrir a query.
query.close; query.sql.add(´select * from CLIENTES where DATA_CADASTRO between :datainicial and :datafinal ´); query.open;
with SuaQuery do begin Close; ParamByName(´datainicial´).AsDate:= DateTimePicker1.Date; ParamByName(´datafinal´).AsDate:= DateTimePicker2.Date; Open; end;[code]
outra duvida, pq quando vou fazer um consulta em sql os campo so aceitam string exemplo select * from cliente wher codigo = ´´+Edit1.TExt+´´
onde esta o edit soh aceita string, não pode ser um int ou um date mesmo, na instrução q vc passo :datainicial, se ele não é uma string não vai dar erro?
valeu!!!!
Não é bem assim... a propriedade Text do TEdit é String então ela só pode ser concatenada com outra String, no caso, ´select * ....´
Note que não existe concatenação (+) na instrução que eu lhe passei... tudo é uma única string SQL com dois parametros.
:datainicial e :datafinal não são colunas da tabela e nem variáveis da aplicação. São parametros da instrução SQL -- é outro conceito. O determinante de um parametro é o ´:´ (dois pontos) antes do nome.
Quando vc usa parametros tudo fica mais fácil, afinal, vc precisa informar apenas o valor para o parametro antes de abrir a query que as demais operações ficarão por conta da aplicação.
Principalmente operações de conversão, como o tipo Date, por exemplo. O formato de data aceito pelos diversos bancos de dados podem variar bastante e ao fazer :
[code]SuaQuery.ParamByName(´datainicial´).AsDate:= Date;Todo o trabalho de conversão será efetuado pela aplicação e vc não precisará se preocupar com qual formato banco aceita, e nem com configurações regionais do S.O.
T+
GOSTEI 0