** RESOLVIDO ** Campo com caracteres acentuados - Formulários - Scriptcase
** RESOLVIDO ** Campo com caracteres acentuados
Peguei um sistema para desenvolver, mas o banco de dados já existe rodando em outra aplicação VB. Alguns campos têm acentos e espaços na sua composição (Ex.: Código do cliente).
Quando cria uma aplicação de formulário no SC, esse campo é mostrado no SC como Codigo_do_cliente. Os dados são mostrados normalmente, mas quando tento fazer uma filtragem na SQL, ocorre o seguinte:
Se coloco "Código do cliente" = [varCODIGO] , o formulário retorna a mensagem de campo inválido, pois esse campo não está na relação de campos importada pelo SC;
Se coloco Codigo_do_cliente = [varCODIGO], o formulário retorna a mensagem de NENHUM REGISTRO ENCONTRADO.
No SC4 eu não estava enfrentando esse problema.
Existe alguma orientação da NetMake com relação a campos desse tipo no SC5? Alguém já passou por isso? Como resolveu?
A solução é colocar a chamada no WHERE da mesma forma que faria no SELECT dentro do banco de dados. Cada banco de dados trata isto de uma forma diferente (alguns com aspas duplas, outros com simples, com barras, etc…), não seria um problema do ScriptCase e sim fazer o tratamento de acordo com o banco.
Fiz uma pequena simulação no Mysql, e o SELECT que criei teria que ser desta forma para funcionar:
Código do cliente,
Código do cliente = 1
Este é o funcionamento no mysql. Espero ter ajudado.
ValterSouza (ValterSouza) Abril 15, 2019, 11:52pm #3
Rodrigo, não sei explicar o que estava acontecendo, pois ontem tentei de tudo quanto é jeito, mas não funcionava. Hoje mandei gerar todos os fontes novamente e tentei conforme você orientou e não está mais dando erro.
Na lista de campos dentro do SC, os nomes dos campos com caracteres especiais (acentos e espaços) aparecem sem eles, diferentemente do que está definido no banco de dados. Mas na filtragem, se eu colocar conforme definição do banco de dados, entre aspas, funciona corretamente. Isso é o que importa.