Ir para conteúdo

Arquivado

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

marcosmoreira16

Instrução SQL com LIKE com base em um edit

Recommended Posts

Olá, pessoal.

Sou novo em programação e estou tentando carregar um ListView com os dados de um select.

Para carregar todos os dados da tabela, tudo bem, mas eu quero filtrar minha consulta.

Quero efetuar uma pesquisa usando a instrução SQL com LIKE.

Tenho um campo edit e quero pesquisar com base na informação digitada neste edit. Como faço?

Uso FIREBIRD 2.1 e Delphi 7.0.

Quando faço uma busca geral, é assim:

 

function TBancos.select : TSimpleDataSet;

var qrySelect: TSimpleDataSet;

begin

qrySelect := TSimpleDataSet.Create(nil);

qrySelect.Connection := DMCheques.SQLConnectionCheques;

try

qrySelect.DataSet.CommandText := 'select bancos.cdbanco, bancos.debanco from bancos';

qrySelect.Open;

finally

Result := qrySelect;

end;

end;

 

O que quero fazer, é digitar parte do nome do BANCO e buscar na tabela apenas os registros que contém o texto digitado.

 

O nome do form é frmBancos e o nome do campo é edtDeBanco.

 

Desde já agradeço a todos.

 

Marcos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui efetuar as consultas para os campos edit, mas não consigo para datas e valores com decimais.

Esta função está funcionando perfeitamente:

function TCheques.SelectEmitente: TSimpleDataSet;

var qrySelectEmitente: TSimpleDataSet;

begin

qrySelectEmitente := TSimpleDataSet.Create(nil);

qrySelectEmitente.Connection := DMCheques.SQLConnectionCheques;

try

qrySelectEmitente.DataSet.CommandText := 'select QtCheque,CdBanco,Agencia, ' +

'Conta,Cheque,Valor,DtEmissao,DeEmitente,TpEmitente,NuCPF,NuCNPJ,DtBomPara, ' +

'DtEntrada,DeRecebidoDe,Status,DtSaida,DePagoPara,Obs from Cheques ' +

'where DeEmitente LIKE :pEmitente';

qrySelectEmitente.DataSet.Params.ParamByName('pEmitente').AsString :=

'%'+Trim(frmCheques.edtEmitente.Text)+'%';

qrySelectEmitente.Open;

finally

Result := qrySelectEmitente;

end;

end;

 

 

Esta função, eu já tentei de várias maneiras, mas não consigo fazer funcionar. Quero verificar uma data que vou informar em um campo TRzDateTimeEdit, aquele "calendariozinho"....

 

function TCheques.SelectDtEmissao: TSimpleDataSet;

var qrySelectDtEmissao: TSimpleDataSet;

begin

qrySelectDtEmissao := TSimpleDataSet.Create(nil);

qrySelectDtEmissao.Connection := DMCheques.SQLConnectionCheques;

try

qrySelectDtEmissao.DataSet.CommandText := 'select QtCheque,CdBanco,Agencia, ' +

'Conta,Cheque,Valor,DtEmissao,DeEmitente,TpEmitente,NuCPF,NuCNPJ,DtBomPara, ' +

'DtEntrada,DeRecebidoDe,Status,DtSaida,DePagoPara,Obs from Cheques ' +

'where DtEmissao LIKE :pDtEmissao';

qrySelectDtEmissao.DataSet.Params.ParamByName('pDtEmissao').AsString :=

frmCheques.dtEmissao.Text;

qrySelectDtEmissao.Open;

finally

Result := qrySelectDtEmissao;

end;

end;

 

Mais alguma ajuda ai?

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.