Olá Ravelli,

--- Em delphi-br@yahoogrupos.com.br, "Ricardo Ravelli" <ricardorave...@...> 
escreveu
>
> Oi Silvio, boa tarde.
> 
> Eu fiz alguns testes aqui e percebi que o problema n o D2010 e o Zeos 7 está
> no SQL escrito com passagem de parâmetros. Por exemplo:
> 
>   ZCTransporte.HostName := '127.0.0.1';
>   ZCTransporte.Connected := True;
>   ZQUsuarioRO.Close;
>   ZQUsuarioRO.SQL.Clear;
>   ZQUsuarioRO.SQL.Text := ('SELECT * FROM cadusuario ' +
>       'WHERE login = :pLogin AND senha = :pSenha AND exclusao IS NULL');
>   ZQUsuarioRO.ParamByName('pLogin').Value := 'administrador';
>   ZQUsuarioRO.ParamByName('pSenha').Value := 'exemplo';
>   ZQUsuarioRO.Open;
> Dessa maneira ele apresenta o seguinte erro:
> "SQL Error: You have na error in your SQL syntax; check the manual that
> corresponds to your MySQL server version form the rights syntax to use near
> `AND senha = AND exclusao IS NULL' at line 1"
> 
> Se eu não utilizar parametros funciona normalmente, conforme ex abaixo:
> 
>   ZCTransporte.HostName := '127.0.0.1';
> 
>   ZCTransporte.Connected := True;
> 
>   ZQUsuarioRO.Close;
> 
>   ZQUsuarioRO.SQL.Clear;
> 
>   ZQUsuarioRO.SQL.Text := ('SELECT * FROM cadusuario WHERE login =
> "administrador"');
> 
>   ZQUsuarioRO.Open;

Estranho... Eu fiz um teste aqui com o Lazarus (quando dá pau no Zeos+Delphi, 
tb dá no Zeos+Lazarus) e passou, saca a imagem: [http://imagebin.org/79479];
Mas eu uso uma cópia (no Lazarus) com todas as Units convertidas para UTF-8, 
quando uso no Delphi7 uso outra cópia, com todos os arquivos em CP1252 (não sei 
no D2010, acredito que seja tudo em UTF-8 também). Também te mostro como criei 
a tabela...

Eu passei o Zeos 7 aqui numa ferramenta do Lazarus e vi que ainda tem Unit em 
UTF-8 e ISO-8859-1 (misturadas); Um dia desses falei com o Mark que quando 
misturamos UTF com CP e com ISO, aqui no Brasil (e Espanha) dá pau no Zeos! 
Acentuação gráfica pira e números decimais são multiplicados :)

Saca a estrutura e dados da tabela de teste aqui - 
[http://pastebin.com/m15b44aa7];

> O mais estranho é que esse código com parâmetros eu extrai de um sistema meu
> no Delphi 7, MySQL e Zeos (6.6.6) e funciona perfeitamente, somente no D2010
> com MySQL (mesma versão 5.1) e Zeos 7,  apresenta esse problema. Você sabe
> se houve alguma alteração no D2010 nesse quisito?

Não vi, pelo menos no changelog.

> Tem alguma outra maneira de reescrever esse código que ele funcione no
> D2010?

Hum... Estou sem o D2010 aqui, mas veja as dicas acima e a dos outros colegas, 
qualquer coisa postamos no fórum do Zeos.

> Obrigado.
> 
> Abraço.
> 
> Att.
> 
> Ricardo Ravelli.

ps. Demorei fazendo testes aqui e nada, qualquer coisa envia algo (um exemplo 
simples) aí, é capaz de dar erro no D7 aqui.

-- 
Silvio Clecio
--
Contato - silvioprog@<yahoo/gmail>
Blog estilo mural - silvioclecio.blogspot.com
Twitter - twitter.com/silvioprog
--
programmer ObjectPascal - silvioprog.blogspot.com
--
"Duas coisas instruem o homem, qualquer que seja a sua natureza: o instinto e a 
experiência. Blaise Pascal.

Responder a