Ajuda com Select
Gente eu tenho um programa de cadastro de cliente, uso ADO e o banco e acess.
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:
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
Curtidas 0
Respostas
Mecq_clayton
13/02/2003
Well vc poderia explicar melhor o seu problema, para que possamos te ajudar.
GOSTEI 0
Uoquisala
13/02/2003
E que clico no botao mais nada acontece não da erro mais tb não faz a busca.
Well vc poderia explicar melhor o seu problema, para que possamos te ajudar.
GOSTEI 0
Anonymous
13/02/2003
Coloque assim:
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.
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.
GOSTEI 0
Mecq_clayton
13/02/2003
Well vamos conversar!!!
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.
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.
GOSTEI 0
Jabanildo
13/02/2003
ai galera, eu perdi 15 dias, com isso, a soluçao é bem simples
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.
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.
GOSTEI 0
Mecq_clayton
13/02/2003
Well galera duas perguntas uma pro EMERSON:
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?
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?
GOSTEI 0
Anonymous
13/02/2003
Para [quote=´mecq_clayton´]
Não, não funciona sem o LIKE. Vacilei e esqueci de trocar o operador
Não, não funciona sem o LIKE. Vacilei e esqueci de trocar o operador
GOSTEI 0