Problemas usando uma consulta no interbase

Delphi

30/08/2003

8) Aí galera,estou com o seguinte problema:
Tenho uma tabela funcionario feita no interbase na qual não consigo fazer com que o usuario digite uma cadeia de caracteres ou apenas uma letra e mostre o resultado no dbgrid atraves de um IBQuery,aparece uma exceção de sql dinamic erro
Tá aí o codigo:
***************
consulta.sql.close;
consulta.sql.clear;
consulta.sql.add(´select * from funcionario where nome like ´ ´+nome.text+´ ´ ¬´);
consulta.sql.add(´order by nome´);
consulta.sql.open;
*******************
se vc percebeu usei aspa dupla para a consulta,é justamente aí que dá o problema porém quando uso o componente Query normal a consulta funciona normal,porém fica pedindo a senha de usuario do banco interbase,coisa que eu não quero que mostre
Agradeço as respostas


Delphox

Delphox

Curtidas 0

Respostas

Crpavao

Crpavao

30/08/2003

Amigo:
Qto às aspas use a char #39 para simbolizar a aspa.
Exemplo:

Texto := ´Colocar a aspa ´ + 39 + ´pavao´ + 39

Resultado:

Colocar a aspa ´pavao´

Qto a tá pedindo senha, no database coloque em false a opção login


GOSTEI 0
Afarias

Afarias

30/08/2003

Ou simplesmente (para seu caso específico) faça:

deixe o SQL da query *fixo* com o código ::

select * from funcionario
where nome starting with :nome


e então mude seu código para ::

with Consulta do
try
if Transaction.InTransaction then
Transaction.Commit;
Params[0].AsString := Nome.Text;
Open;
except
// tratamento de erro (ou simplesmente mostre a mensagem)
end;


T+


GOSTEI 0
Chambioso

Chambioso

30/08/2003

simplesmente ocorreu um erro pequeno no seu código.
melhor seria assim:
(where Nome like ´´+Edit1.Text+´¬´´)

perceba a diferença.


GOSTEI 0
POSTAR