Ir ao conteúdo
  • Cadastre-se

Delphi - Consulta


caezar

Posts recomendados

Amigos,

Tenho um projeto que usa uma conexão ADO com um BD Access!

Gostaria de fazer uma consulta usando o ADOQuery.

Tenho um Data Module que possui um ADOConection apontado para o BD, um ADOTable devidamente configurado com o ADOConection e a tabela e um DataSource apontado para o ADOTable.

Em outro form tenho um grid que retoma os valores da tabela.

Agora eu gostaria de fazer uma consulta usando o ADOQuery.

Obrigado Amigos.

Link para o comentário
Compartilhar em outros sites

Muito Obrigado!

fiz o que você falou, e deu certo!

Eu passei esse valor para propriedade sql:

select * from tab_Funcionario where nome = :sNome

e define o valor de sNome na propriedade parameters.

Coloquei um edite e um botão em baixo do grid.

E no botão escrevi o código:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 with dm.ADOQuery1 do
   begin
     close;
     Parameters.ParamByName('sNome').Value:=edProc.Text;
     open;
   end;
end;

Só que eu preciso digitar o nome inteiro para ele me retomar o valor.

Eu gostaria de digitar parte do nome e ele me retomar todos os valores que a contem!

Link para o comentário
Compartilhar em outros sites

Olá,

O código abaixo localiza nos registros cadastrados cada letra digitada pelo usuário independente se é início, meio ou fim do registro.

Coloque o código abaixo no evento OnChange do edit


ADOQueryConsultasCliente.Close;
ADOQueryConsultasCliente.SQL.Clear;
ADOQueryConsultasCliente.SQL.Add('Select * from TbClientes where Código like '+''''+'%'+Edit1.Text+'%'+'''');
ADOQueryConsultasCliente.Open;

Talvez esse código possa te ajudar melhor em uma pesquisa!!

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

Boa tarde,

Estou com um problema parecido. Vocês podem me ajudar.

A consulta em modo Run-Time, quero saber todos os Clientes que iniciam no EditNome.Text. A código fonte que estou tentando colocar é o abaixo:

Query1.Clear; // limpa e fecha a query1

Query1.SQL.Add('select * from TblClientes where Nome_Cliente > '+EditNome.Text); // Faz a consulta personalizada

Query1.Open;

Acontece um erro de Sistaxe na Linguagem SQL. Isso porque na consulta de uma String deve ser colocada entre apostrofos. Não estou conseguindo colocar os apostrofos em modo Run-Time.

Alguém poderia me ajudar?

Obrigado,

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Estou com um problema parecido. Vocês podem me ajudar.

A consulta em modo Run-Time, quero saber todos os Clientes que iniciam no EditNome.Text. A código fonte que estou tentando colocar é o abaixo:

Query1.Clear; // limpa e fecha a query1

Query1.SQL.Add('select * from TblClientes where Nome_Cliente > '+EditNome.Text); // Faz a consulta personalizada

Query1.Open;

Acontece um erro de Sistaxe na Linguagem SQL. Isso porque na consulta de uma String deve ser colocada entre apostrofos. Não estou conseguindo colocar os apostrofos em modo Run-Time.

Alguém poderia me ajudar?

Obrigado,

seu query1.add tá errado! o uso correto seria:

Query1.SQL.Add('select * from TblClientes where Nome_Cliente like ''+EditNome.Text+''');

Duas aspas simples servem para dizer que é uma string, e falto o mais para fechar o editnome além das aspas simples no final, além do mais vi que você ta procurando pelo nome exato, caso queira selecionar todos que vem antes ou depois deveria usar o %, ficando assim:

Query1.SQL.Add('select * from TblClientes where Nome_Cliente like '%'+EditNome.Text+'%'');

Acho que é isso :huh:

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
seu query1.add tá errado! o uso correto seria:

Query1.SQL.Add('select * from TblClientes where Nome_Cliente like ''+EditNome.Text+''');

Duas aspas simples servem para dizer que é uma string, e falto o mais para fechar o editnome além das aspas simples no final, além do mais vi que você ta procurando pelo nome exato, caso queira selecionar todos que vem antes ou depois deveria usar o %, ficando assim:

Query1.SQL.Add('select * from TblClientes where Nome_Cliente like '%'+EditNome.Text+'%'');

Acho que é isso :huh:

Amigo,

Testei o seu código e não consegui compilar o programa. Verifiquei e descobri que faltava uma coisa. Veja:

Query1.SQL.Add('select * from TblClientes where Nome_Cliente like '+'"%'+EditNome.Text+'%"');

Para conseguir rodar(compilar) tive que adicionar uma aspa dupla no final e no início do EditNome.Text

Até,

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!