Consultar query sql

Delphi

06/04/2005

fiz essa consulta em sql ´select * from tabela where descricao like ´¬´ + Edit1.text + ´¬´ ´ deu beleza, quando o usuario digita um palavra no edit ele localiza beleza ate mesmo no meio do registro, to com um problema se no registro estiver maiusculo e ele digitar minusculo não localizar como faço para resolver essa situacao.



Grasto


Elcilei

Elcilei

Curtidas 0

Respostas

Rjun

Rjun

06/04/2005

Seria bom se você colocasse qual BD esta usando. Eu uso SQL Server e ele realiza essa busca sem problemas. Não tem uma função Upper ?


GOSTEI 0
Elcilei

Elcilei

06/04/2005

estou uzando interbase com delphi8 net, e outra situacao e palavras acentuadas.


GOSTEI 0
Rjun

Rjun

06/04/2005

Não sei muito sobre interbase, mas deve ter alguma função que transforme minuscula para maiucula. Agora quanto a acentuação é complicado pois ´a´ é diferente de ´á´. Acredito que o ideal era não permitir que se coloque caracteres acentuados.


GOSTEI 0
Ariovaldo

Ariovaldo

06/04/2005

Quanto a consultar por maiuscula e minuscula o Interbase + Delphi Trata por exemplo

Qry.sql.add(´Select *´);
Qry.sql.add(´from tabela´);
Qry.sql.add(´where Lower(Campo) = :Campo´);
qry.Parambyname(´Campo´).asstring := LowerCase(Edit1.text);
qry.Open;

Agora com palavras acentuadas é complicado a Unica solução é criar uma UDF para isso, pois tentei utilizar os recursos de Character Set do Banco mas não consegui


GOSTEI 0
Ariovaldo

Ariovaldo

06/04/2005

Faltou um detalhe precisar declararar a função Lower no Banco de dados


GOSTEI 0
Elcilei

Elcilei

06/04/2005

como é que declaro no intebase?


GOSTEI 0
Ariovaldo

Ariovaldo

06/04/2005

DECLARE EXTERNAL FUNCTION LOWER
CSTRING(80) CHARACTER SET NONE
RETURNS CSTRING(80) CHARACTER SET NONE FREE_IT
ENTRY_POINT ´IB_UDF_lower´ MODULE_NAME ´ib_udf´;


GOSTEI 0
Elcilei

Elcilei

06/04/2005

Ainda não consequir fazer esta consulta em delphi8.

1º) O usuario digita uma palavra em um edit e ao clicar no botao ele localizar essa palavra em um registro string e verifica mesmo se ha no meio ou inicio ou fim, consequir fazer usando select * from Cliente whre nome like ?, mas o detalhe e que se no registro estiver maiusculo e edit estiver minusculo ele não encontra.

2º) como retiro acento no edit caso o usuario digitar palavras acentuadas.

obs Estou trabalhando em um projeto delphi 8 para net e interbase, essa consulta é para aspx.

Grato


GOSTEI 0
POSTAR