Ajuda com Select
13/02/2003
0
Coloquei uma Adoquery1
coloquei a sua propriedade a seguinte no objecto inspector.
connection = datamodule1.adoconnection1 <-- este e o nome de minha conecção que esta em um datamodule1.
Datasource = datasouce1 <-- este e o nome de meu datasource1 que esta no meu form.
Depois coloquei um edit1.text e um button
no evento click do butom coloquei o seguinte..
ADOQuery1.active := false;
ADOQuery1.sql.clear;
ADOQuery1.sql.add(´select * from Cadclientes where Nome = ´´ + edit1.Text + ´´´);
ADOQuery1.active:= true;
:shock:
Uoquisala
Posts
13/02/2003
Mecq_clayton
13/02/2003
Uoquisala
13/02/2003
Anonymous
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add(´select * from Cadclientes where Nome = ´+QuotedStr(edit1.Text+´¬´ ) );
ADOQuery1.Open;
O que parece é que seu cadastro deve ter algo como ´JOSE DA SILVA ´: 20 posições no registro mas somente 13 preenchidas.
Se você digitar apenas ´JOSE DA SILVA´ o mecanismo de busca não vai encontrar, pois da forma que você havia colocado ele só faria uma busca exata. Da forma como eu coloquei - acrescentando o ´¬´ - o mecanismo vai procurar por todos os nomes que comecem com ´JOSE DA SILVA´.
Por exemplo:
´JOSE DA SILVA ´
´JOSE DA SILVA JR ´
´JOSE DA SILVA SOUZA ´, etc.
13/02/2003
Mecq_clayton
1. Digamos que vc tenha na tabela os seginte nomes cadastrados.
Clayton
José
Carlos
E vc quer puxar o nome do cara a partir do conteudo de um edit vc deve alterar a linha abaixo:
ADOQuery1.sql.add(´select * from Cadclientes where Nome = ´´ + edit1.Text + ´´´);
por:
ADOQuery1.sql.add(´select * from Cadclientes where Nome = ´´ + Trim(edit1.Text) + ´´´);
Agora se vc quiser buscar tudo o que comece com a letra C por exemplo use a lina abaixo.
ADOQuery1.sql.add(´select * from Cadclientes where Nome Like ´´ + Trim(edit1.Text) + ´¬´´);
Seria legar esse comando com o uso do like ser colocado no change do edit, dependendo do que vc quer fazer.
Outra coisa vc deve lembrar que o usuário deve digitar as letras do jeito que está no banco se o cara cadastrar o nome Clayton desta forma e buscar o nome digitando CLAYTON não vai trazer nada viu.
Qualquer coisa posta algo no forúm.
13/02/2003
Jabanildo
vc ta colocando tudo junto, faça assim
ADOQuery1.sql.add(´select * from Cadclientes´);
ADOQuery1.sql.add(´where Nome =´+ edit1.Text+´;´);
senao a sql compila tudo numa linha só
select * from Cadclientes where Nome = fulanodetal
Boa Sorte.
13/02/2003
Mecq_clayton
Cara esse comando que vc passou funciona sem o LIKE
JaBanildo: Vc estava tendo problema em copilar um comando SQL em uma linha só? E a sua concatenação para o Edit funciona desta forma?
13/02/2003
Anonymous
Não, não funciona sem o LIKE. Vacilei e esqueci de trocar o operador
Clique aqui para fazer login e interagir na Comunidade :)