Fórum Como pesquisar por vários campos #281072

11/05/2005

0

Fiz um form de pesquisa, onde ele serve para todas as tabelas. Tenho um combobox q pega todos so campos da tabela e quero ter a opção de pesquisar por todos os campos.

O problema é o seguinte, fiz um query assim:
if edTabela.Text = ´Produtos´ then begin qProduto.Close; qProduto.SQL.Clear; qProduto.SQL.Add(´select * from Produtos where ´+ComboBox1.Text+´ like :ParamProduto´); qProduto.Sql.Add(´order by Codigo´); qProduto.ParamByName(´ParamProduto´).AsString := edPesquisa.Text + ´¬´; qProduto.Open; end;

para campos alfanumérico funciona blz, o problema está qdo seleciono no combo um campo de outro tipo como inteiro, data, etc...

Como resolver isso? pois quero poder pesquisar por todos os campos independente do tipo dele.

Obrigado


Marco

Marco

Responder

Posts

11/05/2005

Steve_narancic

Ve se te ajuda em algo:

qProduto.Close;
qProduto.SQL.Clear;
qProduto.SQL.Add(´select * from Produtos´);
for i:= 0 to DataSet.FieldCount -1 do
begin
if (DataSet.Fields[i].Fieldname = ComboBox1.Text) and (DataSet.Fields[i].DataType = ftinteger) then
begin
qProduto.sql.add(´where ´+ComboBox1.Text+´= :paramproduto´);
qProduto.ParamByName(´ParamProduto´).Asinteger := strtoint(edPesquisa.Text);
end
else
begin
qproduto.sql.add(´where ´+ComboBox1.Text+´ like :ParamProduto´);
qProduto.ParamByName(´ParamProduto´).AsString := edPesquisa.Text+ ´¬´;
end;
qProduto.Sql.Add(´order by Codigo´);
qproduto.open


Responder

Gostei + 0

11/05/2005

Raserafim

esperimente troca de AsString para AsVariant
qProduto.ParamByName(´ParamProduto´).AsVariant



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar