SQL iniciante
não está dando certo um consulta aqui, iniciante é um problema
estou fazendo assim
var
data_inicial : string;
data_final : string;
begin
data_inicial := datetostr(data_inicial_consulta_compras.datetime);
data_final := datetostr(data_final_consulta_compras.datetime);
dados.consulta_compras.close;
dados.consulta_compras.sql.clear;
dados.consulta_compras.sql.add(´select * from compras where data_compra >= ´ + data_inicial + ´ and data_compra <= ´ + data_final);
dados.consulta_compras.open;
end;
o problema é q com isso está dando uma mensagem ´type mismacth in expression´. Na tabela este campo é configurado como date.
se alguém puder ajudar fico agradecido
estou fazendo assim
var
data_inicial : string;
data_final : string;
begin
data_inicial := datetostr(data_inicial_consulta_compras.datetime);
data_final := datetostr(data_final_consulta_compras.datetime);
dados.consulta_compras.close;
dados.consulta_compras.sql.clear;
dados.consulta_compras.sql.add(´select * from compras where data_compra >= ´ + data_inicial + ´ and data_compra <= ´ + data_final);
dados.consulta_compras.open;
end;
o problema é q com isso está dando uma mensagem ´type mismacth in expression´. Na tabela este campo é configurado como date.
se alguém puder ajudar fico agradecido
Anonymous
Curtidas 0
Respostas
Anonymous
09/02/2003
Como o campo da tabela é DATE o tipo das variáveis data_inicial e data_final também tem que ser DATE.
Mude o tipo que deve funcionar.
Um abraço.
JEAN SANTOS.
Mude o tipo que deve funcionar.
Um abraço.
JEAN SANTOS.
GOSTEI 0
Sidfaria
09/02/2003
1 - Defina a data_compra em sua Tabela como Date (D);
2 - Defina as variáveis data_inicial e data_final como TDateTime;
3 - Crie a instrução SQL assim:
dados.consulta_compras.SQL.Text :=
´Select * from compras where data_compra >= :data_inicial and ´ +
´ data_compra <= :data_final´;
4 - O :data_inicial e :data_final são parâmetros de pesquisa que você passará no comando SQL, da seguinte forma:
dados.consulta_compras.ParamByName(´data_inicial´ ).AsDateTime :=
NomeDaTabelaDataInicial.AsDateTime;
a instrução será no formato acima se você estiver pegando a data em uma outra tabela (NomeDaTabela). Se a data vier de um Edit em um Form(Tela) o comando será:
dados.consulta_compras.ParamByName(´data_inicial´ ).AsDateTime :=
StrToDate(Edit1.Text);
// repita o mesmo comando para o parâmetro data_final.
abra a query.
2 - Defina as variáveis data_inicial e data_final como TDateTime;
3 - Crie a instrução SQL assim:
dados.consulta_compras.SQL.Text :=
´Select * from compras where data_compra >= :data_inicial and ´ +
´ data_compra <= :data_final´;
4 - O :data_inicial e :data_final são parâmetros de pesquisa que você passará no comando SQL, da seguinte forma:
dados.consulta_compras.ParamByName(´data_inicial´ ).AsDateTime :=
NomeDaTabelaDataInicial.AsDateTime;
a instrução será no formato acima se você estiver pegando a data em uma outra tabela (NomeDaTabela). Se a data vier de um Edit em um Form(Tela) o comando será:
dados.consulta_compras.ParamByName(´data_inicial´ ).AsDateTime :=
StrToDate(Edit1.Text);
// repita o mesmo comando para o parâmetro data_final.
abra a query.
GOSTEI 0
Anonymous
09/02/2003
muito obrigado Sidfaria
sua instrução funcionou corretamente
até mais
:)
sua instrução funcionou corretamente
até mais
:)
GOSTEI 0