Pesquisa parametrizada com campo CHAR no DbExpress
12/08/2004
0
EX: SELECT * FROM cliente WHERE nome=:nome
Quando o parâmetro é passado somente com o nome, a pesquisa não retorna nenhum valor, mas quando completa-se o nome com caracteres em branco a pesquisa funciona.
O que fazer?
Miranilton
Posts
12/08/2004
Rpelisson
Aqui estou com vários problemas utilizando o DBExpress acessando SQL 2000, tanto para dar insert, quanto para fazer consultas com parâmetros ocorre este tipo de erro.
Este erro acontece porque o DBExpress ao enviar as linhas de SQL para consultar ou para inserir utilizando parametros, ele perde o fechamento da string dos dados, ou seja ao invés dele enviar um comando completo dessa forma:
declare @P1 int set @P1=1 exec sp_prepexec @P1 output, N´@P1 char(40)´, N´select * from etc_vendedor where nome=@P1 ´, ´ADMINISTRADOR´
ele envia assim:
declare @P1 int set @P1=1 exec sp_prepexec @P1 output, N´@P1 char(40)´, N´select * from etc_vendedor where nome=@P1 ´, ´ADMINISTRADOR
Falta fechar a string do comando, sendo assim o SQL se perde completamente.
Engraçado que só acontece no SQL.. testei em MySQL e funcionou normalmente.[/code]
12/08/2004
Miranilton
12/08/2004
Rpelisson
chegou a fazer algum update no delphi?
mesmo porque meu sql está atualizadinho, tudo certinho.
Achei estranho também...
12/08/2004
Miranilton
Vou tentar pegar as atualizações disponíveis para o Delphi7 e ver se isso para de acontecer.
12/08/2004
Rpelisson
Parei com o processo de migração de BDE para dbexpress justamente por causa desses problemas...
O seu está dando erro também ou funciona normalmente?
Clique aqui para fazer login e interagir na Comunidade :)