Fórum Problemas usando uma consulta no interbase #178639

30/08/2003

0

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

Responder

Posts

30/08/2003

Crpavao

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


Responder

Gostei + 0

30/08/2003

Afarias

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+


Responder

Gostei + 0

31/08/2003

Chambioso

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

perceba a diferença.


Responder

Gostei + 0

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

Aceitar