[firebase-br] Comportamento interessante: Delphi - FB

Braytiner braytiner em gmail.com
Ter Jan 22 15:08:51 -03 2008


Veja se algum de vocês já passaram por algo parecido:

- Utilizo o Firebird 2.0 em minhas aplicações, uso o collate PT_BR para 
realizar buscas case insensitive nas tabelas

- Em minha aplicação Delphi utilizo o trio SqlQuery + DataSetProvider + 
ClientDataSet, em meu DataSetProvider, altero o UpdateMode para 
WhereKeyOnly, e respectivamente altero o provider flag da chave primária 
para pfInKey

- Quando a chave primária é violada com caracteres no mesmo case 
(maiúsculas com maiúsculas) o delphi captura a exceção sem a utilização 
do OnReconcileError; mas quando a chave é violada diferindo caracteres 
em seu case (maiúsculas com minúsculas) o Delphi só captura a mesma com 
o OnReconcileError (ou seja esta exceção é levantada no banco de dados e 
  repassada através do Reconcile).

- Cheguei a seguinte conclusão: como o collate usado no banco não 
diferencia maiúsculas de minúsculas a chave é violada no banco, mas no 
Delphi a comparação para chaves é case sensitive.

Tem alguma propriedade onde eu possa alterar esse tipo de comparação?

Obrigado,

----
Braytiner





Mais detalhes sobre a lista de discussão lista