consulta sql
Alguem poderia me ajudar? sou iniciante em delphi, e gostaria de saber o seguinte:
tenho uma tabela que se chama cadastro, um edit que se chama edtNome, um bitbtn que se chama btnNome, um componente sql que se chama procuraCd, e um dbGrid que se chama dbgLista. Bom como faço para quando clicar no meu botão ele filtrar o que estiver escrito no edit e me mostrar no dbGrid?
Desde já agradeço...
tenho uma tabela que se chama cadastro, um edit que se chama edtNome, um bitbtn que se chama btnNome, um componente sql que se chama procuraCd, e um dbGrid que se chama dbgLista. Bom como faço para quando clicar no meu botão ele filtrar o que estiver escrito no edit e me mostrar no dbGrid?
Desde já agradeço...
Ddygodelphi
Curtidas 0
Respostas
Marcelo.c
27/07/2003
No evento Onclick do botão:
procuraCd.Filtered:=False;
procuraCd.Filter:=´Campo=´+QuotedStr(EdtNome.Text);
procuraCd.Filtered:=True;
procuraCd.Filtered:=False;
procuraCd.Filter:=´Campo=´+QuotedStr(EdtNome.Text);
procuraCd.Filtered:=True;
GOSTEI 0
Glauberms
27/07/2003
Como não sei exatamente o que vc fez, espero que estas informações o ajude.
É necessário incluir um componente [b:e2a86697bf]DataSource[/b:e2a86697bf] para servir de referência para o [b:e2a86697bf]dbgLista[/b:e2a86697bf]:
Click no componente [b:e2a86697bf]DataSource[/b:e2a86697bf], vá em [b:e2a86697bf]DataSet[/b:e2a86697bf] é selecione [b:e2a86697bf]procuraCd[/b:e2a86697bf];
Click no componente [b:e2a86697bf]dbgLista[/b:e2a86697bf], vá em [b:e2a86697bf]DataSource[/b:e2a86697bf] é selecione o componente [b:e2a86697bf]DataSource[/b:e2a86697bf] inserido anteriormente.
Assim todo alteração feita em [b:e2a86697bf]procuraCd[/b:e2a86697bf] será repassada para o [b:e2a86697bf]dbgLista[/b:e2a86697bf] inclusive o resultado da busca.
É necessário cria uma parâmetro para o componente [b:e2a86697bf]procuraCd[/b:e2a86697bf]:
Click no componente [b:e2a86697bf]procuraCd[/b:e2a86697bf], vá em [b:e2a86697bf]params[/b:e2a86697bf] e adicione um novo modifique seu nome para [b:e2a86697bf]pNome[/b:e2a86697bf] (usei este nome no código abaixo).
No evento [b:e2a86697bf]OnClick[/b:e2a86697bf] do [b:e2a86697bf]btnNome[/b:e2a86697bf] escreva:
[i:e2a86697bf]procuraCd.Close;
procuraCd.Params[0].AsString:=btnNome.Text;
procuraCd.SQL.Clear;
procuraCd.SQL.Add(´Select * from [b:e2a86697bf]cadastro[/b:e2a86697bf] where [b:e2a86697bf]CAMPO[/b:e2a86697bf] = :pNome´);
procuraCd.Open;[/i:e2a86697bf]
Onde: [b:e2a86697bf]CAMPO[/b:e2a86697bf] é o campo da tabela onde será aplicada a busca;
[b:e2a86697bf]Params[0][/b:e2a86697bf] é o código de referência do parâmetro [b:e2a86697bf]pNome[/b:e2a86697bf] criado anteriormente.
Se você disser mais informações sobre a tabela (tipo e campos contidos) e sobre sua utilização, podemos chegar a uma coisa mais simples como utilizar um TABLE ou invez de um componente SQL.
É necessário incluir um componente [b:e2a86697bf]DataSource[/b:e2a86697bf] para servir de referência para o [b:e2a86697bf]dbgLista[/b:e2a86697bf]:
Click no componente [b:e2a86697bf]DataSource[/b:e2a86697bf], vá em [b:e2a86697bf]DataSet[/b:e2a86697bf] é selecione [b:e2a86697bf]procuraCd[/b:e2a86697bf];
Click no componente [b:e2a86697bf]dbgLista[/b:e2a86697bf], vá em [b:e2a86697bf]DataSource[/b:e2a86697bf] é selecione o componente [b:e2a86697bf]DataSource[/b:e2a86697bf] inserido anteriormente.
Assim todo alteração feita em [b:e2a86697bf]procuraCd[/b:e2a86697bf] será repassada para o [b:e2a86697bf]dbgLista[/b:e2a86697bf] inclusive o resultado da busca.
É necessário cria uma parâmetro para o componente [b:e2a86697bf]procuraCd[/b:e2a86697bf]:
Click no componente [b:e2a86697bf]procuraCd[/b:e2a86697bf], vá em [b:e2a86697bf]params[/b:e2a86697bf] e adicione um novo modifique seu nome para [b:e2a86697bf]pNome[/b:e2a86697bf] (usei este nome no código abaixo).
No evento [b:e2a86697bf]OnClick[/b:e2a86697bf] do [b:e2a86697bf]btnNome[/b:e2a86697bf] escreva:
[i:e2a86697bf]procuraCd.Close;
procuraCd.Params[0].AsString:=btnNome.Text;
procuraCd.SQL.Clear;
procuraCd.SQL.Add(´Select * from [b:e2a86697bf]cadastro[/b:e2a86697bf] where [b:e2a86697bf]CAMPO[/b:e2a86697bf] = :pNome´);
procuraCd.Open;[/i:e2a86697bf]
Onde: [b:e2a86697bf]CAMPO[/b:e2a86697bf] é o campo da tabela onde será aplicada a busca;
[b:e2a86697bf]Params[0][/b:e2a86697bf] é o código de referência do parâmetro [b:e2a86697bf]pNome[/b:e2a86697bf] criado anteriormente.
Se você disser mais informações sobre a tabela (tipo e campos contidos) e sobre sua utilização, podemos chegar a uma coisa mais simples como utilizar um TABLE ou invez de um componente SQL.
GOSTEI 0
Marcelo.c
27/07/2003
procuraCd.Params[0].AsString:=[b:303fca4be3]btnNome[/b:303fca4be3].Text;
Ao ler o post esqueci que o título era [b:303fca4be3]Consulta [color=Red:303fca4be3]SQL[/color:303fca4be3][/b:303fca4be3], nesse caso a dica do Glauber é a mais indicada.
Porém, creio que a parte destacada em negrito deva ser [b:303fca4be3]EdtNome[/b:303fca4be3], não ?
GOSTEI 0
Glauberms
27/07/2003
marcelo.c,
valeu pela correção...
sabe como é né, Ctrl+c Ctr+v. Só da nisso... :lol:
valeu pela correção...
sabe como é né, Ctrl+c Ctr+v. Só da nisso... :lol:
GOSTEI 0
Marcelo.c
27/07/2003
Estamos aí... :D
GOSTEI 0