Dúvida em Consulta SQL.....

Delphi

14/07/2003

Tenho uma FORM de Consulta (Utilizada por vários cadastros) com um IBQuery,Edit, DBGrid e um RadioGroup para escolher o Item(parametro) desejado exemplo: item[0]= Código,item[1]= Cargo.

A consulta esta funcionando corretamente quando utilizo somente um ITEM(PARAMETRO).
EXEMPLO: item[0]= Código ..... consigo consultar normalmente.... mas quando vou para o outro item e realizo uma nova consulta não apaga o resultado anterior e acrescenta o novo.....

PQ acontece????

O Q. FALTA NO CÓDIGO ABAIXO????

OBS: Já dei Refresh só que não funciona.....

O Texto da Query :

Select ID_CARGO, CARGO, STATUS From CARGO
where ID_CARGO LIKE:ID_CARGO OR CARGO LIKE:CARGO


Segue o Código abaixo:

begin
with DS2.DataSet as TIBQuery do
begin
case RadioConsultar.ItemIndex of
0 : begin
try
Screen.Cursor:= crSQLWait;
DisableControls;
Close;
Params[0]..AsStringr := Edit1.Text;
Open;
DBGrid1.SetFocus;
EnableControls;
finally
Screen.Cursor:= crDefault;
end;
end;
1 : begin
try
Screen.Cursor:= crSQLWait;
DisableControls;
Close;
Params[1].AsString:= Edit1.Text+´¬´;
Open;
DBGrid1.SetFocus;
EnableControls;
finally
Screen.Cursor:= crDefault;
end;
end;
end;


OBRIGADO.......


Msr

Msr

Curtidas 0

Respostas

Fernando

Fernando

14/07/2003

A SINTEXE QUE USO É A SEGUINTE

With dm_Estoque.tb_Linha do
begin
Close;
ParamByName(´Codigo_Aux´).AsInteger := Codigo_Aux;
Open;
FetchAll
end;

Vc poderá usar outros parametros
qualquer dúvida me mende um e-mail e a tabela que testo para vc


GOSTEI 0
Msr

Msr

14/07/2003

Caro Fernando não posso utilizar desta maneira pq e um ´FORM DE COSULTA´ utilizado para vários cadastros....

Então tenho que usar:

Params[0].AsString:= Edit1.Text;

ou

Params[1].AsString:= Edit1.Text´¬´;

O meu problema esta na no ´´´´REFRESH´´´´´ pq quando mudo de item e realizo a consulta fica o registro anteiror e o novo......


GOSTEI 0
Rjanuzzi

Rjanuzzi

14/07/2003

Tenta inserir as linhas:

...
0 : begin
try
[b:c3eafea0ec]Params[1].AsString:= ´´;[/b:c3eafea0ec]
Screen.Cursor:= crSQLWait;
...

ou

...
1 : begin
try
[b:c3eafea0ec]Params[0].AsString:= ´´;[/b:c3eafea0ec]
Screen.Cursor:= crSQLWait;
...



rjanuzzi


GOSTEI 0
Renato Morais

Renato Morais

14/07/2003

tenta colocar o fechar o dataset antes de tudo!!!

Renato!!!

renatomorais@hotmail.com


GOSTEI 0
Msr

Msr

14/07/2003

[quote=´rjanuzzi´]Tenta inserir as linhas:
...
0 : begin
try
[b]Params[1].AsString:= ´´;[/b]
Screen.Cursor:= crSQLWait;
...
ou
...
1 : begin
try
[b]Params[0].AsString:= ´´;[/b]
Screen.Cursor:= crSQLWait;
...

rjanuzzi



FUNCIONOU COM A RESPOSTA DO NOSSO AMIGO [b]RJANUZZI[/b]

OBRIGADO


GOSTEI 0
POSTAR