[firebase-br] Seria um BUG do Firebird-2.5.2.26540.0 para x64 ????

Marson (GMail) marsonluis em gmail.com
Ter Set 17 13:46:05 -03 2013


Gladiston,
   conforme o que postei antes, eu usei QuotedStr() e, o resultado foi a 
gravação do valor com apóstrofes. Isso me gerou mais problemas que os 
resolveu.
   E, dentro do Delphi está tudo ok ... 100% funcional ... o problema 
está no próprio Firebird, já que a execução de um
INSERT INTO TABELA (CAMPO_VARCHAR_20) values ('XXX') via IBExpert gera o 
mesmo erro de XXX, coluna desconhecida.
   Outra coisa: desconfiando de algo errado na própria estrutura da 
tabela, resolvi excluir o campo e reincluí-lo. Deu trabalho contornar 
todas as dependência mas consegui e, o resultado? Deu no mesmo ... o 
campo VARCHAR(20) continua inserindo número como string e strings como 
literais ... 'XXX' para o insert é, na verdade XXX (como se fosse uma 
coluna ou variável).

Márson de Paula

Em 17/09/2013 13:25, Gladiston Santana escreveu:
> Colega, use QuotedStr() no Delphi quando fizer uma citação literal de
> valor.
> Isso usará aspas simples e satinizar variáveis que dentro de si mesmo
> tambem possuem aspas, gerando erro para o parser do FB.
> Não é preciso usar o componente que voce citou para executar uma procedure,
> voce pode executar por meio dum script (se não retorna valor) ou query (se
> recebe algum valor).
> select * from procedure_tal(a,b,c);
> é uma procedure válida para seu componente de query e :
> execute procedure procedure_tal a,b,c;
> é valido para um script.
>
>
>
> Em 17 de setembro de 2013 11:08, Marson (GMail) <marsonluis em gmail.com>escreveu:
>
>>      Já havia comentado sobre o problema, alguns colegas da lista me
>> sugeriram substituir o uso de ParamByName pela escrita direta da string
>> mas, não funcionou, sem tempo para pesquisas e testes (o cliente estava
>> apertando) precisei trocar todo o método de funcionamento e solucionou por
>> algum tempo ... até agora ... pois surgiu uma nova situação onde, agora,
>> identifiquei o ponto exato do problema.
>>      Bem, voltando algumas casa atrás, a algum tempo pedi a ajuda para um
>> problema que aparentava ser do Uso de um TIBStoredProc em Delphi 5 para
>> Firebird 2.5 onde, quando passado um parâmetro string (Delphi)/varchar
>> (Firebird) o conteúdo da variável, sendo realmente uma string como 'XXX'
>> chegava de forma literal ao lado do server onde, o serviço "reclamava"
>> dizendo não existir a coluna XXX (literal). Porém, essa coluna pode ter um
>> número (a maioria dos casos) que não apresenta erro. Afinal, o literal de
>> '1234' é 1234, que para o Firebird é válido.
>>      Agora, fazendo testes mais completos, tentando "enrolar" o
>> server/parser, descobri que o erro não está no Delphi 5, nem tão pouco em
>> seu componente TIB... ou na Stored Procedure no Firebird mas, sim, no
>> comando INSERT dentro da SP. Não sei por que, nesse caso único dentro do
>> banco, se eu fizer um INSERT INTO TABELA (CAMPO_VARCHAR_20) values ('XXX'),
>> o banco diz que XXX é uma coluna desconhecida. Isso por dentro do Delphi 5
>> e por meio do IBExpert. Notem que o comando possui o XXX entre apóstrofes
>> mas não o interpreta dessa forma ... se eu "quotar" o XXX, funciona, mas as
>> apóstrofes ficarão dentro da coluna, no banco, o que para mim não é útil.
>>
>>      Bem, espero ter-me feito entender e aguardo por uma ajuda pois não sei
>> mais para onde "correr" :-/
>>
>>      Grato pela atenção da lista.
>>
>> Márson de Paula
>>
>>
>> ______________________________**________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>





Mais detalhes sobre a lista de discussão lista