Pesquisa em SQL
Olá pessoal.. estou com uma dúvida..
Gostaria de fazer um pequeno campo de pesquisa em uma tabela.. eu ja botei alguns LkUps e Combos pra facilitar.. eu botei tb um Edit, q quando o usuario for digitando o nome, ele ja vai listando.. tipo, o usuario digita T, e no grid lista todos registro com T.. se ele digitar Tr, vai aparecer todos com Tr e assim por diante...
Mas a duvida é mais na seguinte parte.. pra fazer ele nao diferenciar maiusculas de minusculas, kero fazer os registros do DB ficarem em minusculas e os dados digitados tb.. como faço isso? é Lowercase mesmo? mas como uso? tipo lowercase(DmDados.Tabela) e lowercase(editpesquisa.text)??
E nessa questao tb.. se tiver um ´é´ e o usuario digitar ´e´, o programa acha??
Estou usando bd em Firebird 1.5, dbExpress, Delphi 7 e os tipos Win1252 e collate PT_ alguma coisa, nao lembro o nome, mas fikei li q é o mais recomendo pro portugues...
Allan Elias Ramos :wink:
Gostaria de fazer um pequeno campo de pesquisa em uma tabela.. eu ja botei alguns LkUps e Combos pra facilitar.. eu botei tb um Edit, q quando o usuario for digitando o nome, ele ja vai listando.. tipo, o usuario digita T, e no grid lista todos registro com T.. se ele digitar Tr, vai aparecer todos com Tr e assim por diante...
Mas a duvida é mais na seguinte parte.. pra fazer ele nao diferenciar maiusculas de minusculas, kero fazer os registros do DB ficarem em minusculas e os dados digitados tb.. como faço isso? é Lowercase mesmo? mas como uso? tipo lowercase(DmDados.Tabela) e lowercase(editpesquisa.text)??
E nessa questao tb.. se tiver um ´é´ e o usuario digitar ´e´, o programa acha??
Estou usando bd em Firebird 1.5, dbExpress, Delphi 7 e os tipos Win1252 e collate PT_ alguma coisa, nao lembro o nome, mas fikei li q é o mais recomendo pro portugues...
Allan Elias Ramos :wink:
Aersoftware
Curtidas 0
Respostas
Minuto
12/08/2004
Ja tentou assim:
Query1.Locate(´campo onde ira porcurar´,´Texto a buscar´,[loPartialKey,loCaseInsensitive]);
Query1.Locate(´campo onde ira porcurar´,´Texto a buscar´,[loPartialKey,loCaseInsensitive]);
GOSTEI 0
Aersoftware
12/08/2004
Ja tentou assim:
Query1.Locate(´campo onde ira porcurar´,´Texto a buscar´,[loPartialKey,loCaseInsensitive]);
Ficaria mais ou menos assim?
DmDados.Client.Locate(´Nome´,´EdtPesquisa.text,[loPartialKey, loCaseInsensitive]);
??
Allan Elias Ramos :wink:
GOSTEI 0
Minuto
12/08/2004
[quote:cbde7e4311=´MiNuTo´]Ja tentou assim:
Query1.Locate(´campo onde ira porcurar´,´Texto a buscar´,[loPartialKey,loCaseInsensitive]);
Ficaria mais ou menos assim?
DmDados.Client.Locate(´Nome´,´EdtPesquisa.text,[loPartialKey, loCaseInsensitive]);
??
[/quote:cbde7e4311]
Dmdados =DAtamodule
Client = Tquery
Nome = campo da tabela do BD(field)
EdtPesquisa.text = Tedit
se tudo acima estiver correto . Sim!
ObS:
tem um ´ no seu codigo eu tirei :
DmDados.Client.Locate(´Nome´,EdtPesquisa.text,[loPartialKey, loCaseInsensitive]);
GOSTEI 0
Aersoftware
12/08/2004
Olá, tentei colocar esse comando e nao funcionou.. deu erro no loPartialKey e loCaseInsensitive..
Coloquei o código abaixo e funcionou:
Mas esse código só funciona se eu digitar o texto exato.. tipo, se eu tiver ´Allan´, e digitar ´allan´, ele nao acha... queria poder fazer ele nao diferenciar maisculas de minusculas.. e nao diferenciar acentos tb... há, e tb gostaria de fazer com q ele me mostrasse os resultados quando eu for digitando.. tipo, se eu digito ´a´, ele ja me lista todos nomes com ´a´.. se eu digitar ´al´. ele me lista todos com ´al´ e assim até acabar a palavra.. como faço? :roll:
Allan Elias Ramos :roll:
Coloquei o código abaixo e funcionou:
DmDados.ClientPersonagens.Close;
With DmDados.SqlPersonagens do
begin
Close;
CommandText :=
´Select * From TbPersonagens Where Codinome =´+ QuotedStr(EdtPesquisa.Text) +´Order By Codinome´;
Open;
end;
DmDados.ClientPersonagens.Open;
Mas esse código só funciona se eu digitar o texto exato.. tipo, se eu tiver ´Allan´, e digitar ´allan´, ele nao acha... queria poder fazer ele nao diferenciar maisculas de minusculas.. e nao diferenciar acentos tb... há, e tb gostaria de fazer com q ele me mostrasse os resultados quando eu for digitando.. tipo, se eu digito ´a´, ele ja me lista todos nomes com ´a´.. se eu digitar ´al´. ele me lista todos com ´al´ e assim até acabar a palavra.. como faço? :roll:
Allan Elias Ramos :roll:
GOSTEI 0