consulta SQL - duvida

Delphi

27/03/2004

gostaria.. de fazer uma consulta sql..
usando query...

exemplo gostaria que me retornasse todos so campos da tabela 1
cujo.. preco maior que 100 e data menor o que estiver digitado no campo dbedit3(data - 25/03/04)
e gostaria de saber aonde esa query vai me retornar...???


alguem poderia me dar uma ajuda ae??
obrigado


Davefloripa

Davefloripa

Curtidas 0

Respostas

Spider

Spider

27/03/2004

coloque uma Query, um DataSource e um DBGrid
na propriedade DataSet do DataSource selecione a Query e na propriedade DataSource do DBGrid selecione o DataSource.

na propriedade SQL da Query coloque:

select * from tabela1 where preco>100 and data <:pdata

na propriedade params mude o DataType do pdata para ftDate

num botao de pesquisa ou outro, coloque:
//o dbedit deve estar preenchido corretamente
query1.parambyname(´pdata´).AsDate:=StrToDate(dbedit3.text);
query1.open;


GOSTEI 0
Vinicius2k

Vinicius2k

27/03/2004

Colega,

Acredito que melhor instrução SQL para sua TQuery seria :
select * from NOME_DA_TABELA where (CAMPO_PRECO < :precominimo) and (CAMPO_DATA < :datalimite)
o click de um botão então faria :
Query1.Close;
Query1.ParamByName(´precominimo´).asFloat := 100;
Query1.ParamByName(´datalimite´).asDate := StrToDate(Edit3.Text);
Query1.Prepare;
Query1.Open;

note que nesta instrução eu criei parametros para tornar a Query flexível tanto da preco mínimo quanto na data... o valor fixado como 100 poderia ser o conteudo de um TEdit também, logicamente, convertido para Float (StrToFloat)... a criação dos parametros não é obrigatória mas facilita bastante o trabalho e evita erros de conversão...

o retorno da TQuery é nela mesma, digamos assim, basta vc ligar a ela um TDataSource e uma DBGrid no TDataSource e o resultado da sua consulta estará sendo exibida...

T+


GOSTEI 0
Fabio.hc

Fabio.hc

27/03/2004

Tente assim:

procedure TForm1.Button1Click(Sender: TObject);
begin
   Query1.Close;
   Query1.SQL.Text:=´select * from venda where valor > 100 and ven_data < :data´;
   Query1.Params[0].Value:=StrToDate(Edit1.Text);
   Query1.Open;
end;


Coloque um DBGrid para ver o resultado.


GOSTEI 0
POSTAR