Fórum Fazer busca numa tabela InterBase #351033
25/12/2007
0
Olá a todos,
Sou iniciante com InterBase e já fazia algum tempo que não mechia com Delphi. Estou precisando de uma ajuda com uma busca que preciso fazer no banco de dados, pois já procurei material sobre isso na net e não achei. Se, por favor, alguém puder me ajudar, a situação é a seguinte:
Tenho um cadastro de clientes e gostaria de buscar um registro pelo nome do cliente. Gostaria que o sistema apresentasse num DataGrid os registros semelhante ao nome que o usuário deseje procurar.
Criei um índice na tabela, mas mesmo assim não estou conseguindo fazer. Tentei usar os componentes da paleta InterBase do Delphi 7 e os únicos componentes que achei que tem propriedade de índice é o IBClientDataSet e o IBTable, porém não estou conseguindo trabalhar com eles.
OBS: Para o cadastro e edição dos dados eu usei um DataMódule, com um IBDataSet, um IBTransaction, um IBDataBase e um DataSource.
Será que alguém saberia uma maneira de fazer essa busca?
Desde já agradeço,
Sérgio Junior
Sou iniciante com InterBase e já fazia algum tempo que não mechia com Delphi. Estou precisando de uma ajuda com uma busca que preciso fazer no banco de dados, pois já procurei material sobre isso na net e não achei. Se, por favor, alguém puder me ajudar, a situação é a seguinte:
Tenho um cadastro de clientes e gostaria de buscar um registro pelo nome do cliente. Gostaria que o sistema apresentasse num DataGrid os registros semelhante ao nome que o usuário deseje procurar.
Criei um índice na tabela, mas mesmo assim não estou conseguindo fazer. Tentei usar os componentes da paleta InterBase do Delphi 7 e os únicos componentes que achei que tem propriedade de índice é o IBClientDataSet e o IBTable, porém não estou conseguindo trabalhar com eles.
OBS: Para o cadastro e edição dos dados eu usei um DataMódule, com um IBDataSet, um IBTransaction, um IBDataBase e um DataSource.
Será que alguém saberia uma maneira de fazer essa busca?
Desde já agradeço,
Sérgio Junior
Sérgio Gobbo
Curtir tópico
+ 0
Responder
Posts
25/12/2007
Vagner_franco
Caro Sergio para resolver o seu problema você terá que usar o componente IBQuery e na propriedade SQL você digita o seguinte : Select * from Sua tabela where nome_campo like :nome_campo
Ai você tem 2 opções se você quer pesquisar com os campos iniciando pelo parâmetro passado você atribui ao final do parâmetro o sinal de ¬
e caso queira pesquisar em qualquer parte do campo ¬parametro¬
Segue 2 Exemplos
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´select * from clientes where nome_cliente like :nome_cliente´);
Query1.ParamByName(´nome_cliente´).AsString:=Edit1.Text + ´¬´;
Query1.Open;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´select * from clientes where nome_cliente like :nome_cliente´);
Query1.ParamByName(´nome_cliente´).AsString:=´¬´ + Edit1.Text + ´¬´;
Query1.Open;
Ai você tem 2 opções se você quer pesquisar com os campos iniciando pelo parâmetro passado você atribui ao final do parâmetro o sinal de ¬
e caso queira pesquisar em qualquer parte do campo ¬parametro¬
Segue 2 Exemplos
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´select * from clientes where nome_cliente like :nome_cliente´);
Query1.ParamByName(´nome_cliente´).AsString:=Edit1.Text + ´¬´;
Query1.Open;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´select * from clientes where nome_cliente like :nome_cliente´);
Query1.ParamByName(´nome_cliente´).AsString:=´¬´ + Edit1.Text + ´¬´;
Query1.Open;
Responder
Gostei + 0
25/12/2007
Sérgio Gobbo
Muito obrigado amigo Franco, deu certo sim.
Não estava conseguindo fazer essa passagem do parâmetro que vc me mostrou.
Obrigado, vc me ajudou muito!
Sérgio Junior
Não estava conseguindo fazer essa passagem do parâmetro que vc me mostrou.
Obrigado, vc me ajudou muito!
Sérgio Junior
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)