Histórico da Página
Índice
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Plataforma
Produto: fluig
Banco de Dados: Oracle
Ocorrência
Percebemos comportamento diferente em relação que caso a grafia (maiúsculo e minusculo) na declaração dos campos de um dataset , onde para o consumo no mobile jornalizado (offline) temos que usar o nome dos campos esteja em maiúsculo e minúsculo, quando consumido o dataset na web ou mobile online a grafia dos campos precisa ser minusculo para funcionare no consumo no mobile jornalizado (offline) temos que usar o nome dos campos em maiúsculo para que a consulta não retorne 'null'. Neste cenário, como é recomendado desenvolver?
Solução
Indiferente da forma que a definição das colunas é declarada os retornos das consultas trazem sempre o nome das mesmas em maiúsculo.
o que podemos fazer para sempre retornar os valores corretos?
Solução
Esse comportamento ocorre em virtude da criação das tabelas no banco de dados Oracle, que por padrão utiliza as colunas com nomes todo em maiúsculoEsse comportamento é em virtude da padronização da criação das tabelas “auxiliares”. Em alguns pontos do desenvolvimento sobre a plataforma é possível que as colunas sejam acessadas somente usando a definição do nome da mesma , conforme a declaraçãono banco de dados, ou seja, todo em maiúsculo.
Para minimizar esse problema evitar esta situação é sugerido que a definição das colunas seja sempre em maiúsculo, assim indiferente de onde usamos o nome da coluna ela realizemos a consulta, estará sempre no respeitando o “padrão“.
Nota |
---|
Note que no primeiro exemplo abaixo o nome das colunas e chaves estão em minúsculo. |
Forma de definição dos campos não recomendada, Portanto, conforme os exemplos abaixo, em vez de desenvolver a definição das colunas utilizando caracteres em minúsculo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function defineStructure() { addColumn("cod_cliente"); addColumn("nom_cliente"); setKey(["cod_cliente"]); } |
Acesso a coluna via desenvolvimento sobre a plataforma:
Bloco de código | ||||
---|---|---|---|---|
| ||||
var dataset = DatasetFactory.getDataset('dataset', new Array(), new Array(), new Array());
var dados = dataset.values;
for ( var i in dados ) {
var dado = dados[i];
var codigo = dado[“COD_CLIENTE”];
var nome = dado[“NOM_CLIENTE”];
} |
Nota |
---|
Note que o nome da coluna esta em maiúscula diferente da definição. |
Recomendamos desenvolver a definição Recomendação de definição das colunas de forma padronizada, com caracteres em MAIÚSCULO:
...
Acesso a coluna via desenvolvimento sobre a plataforma, que funcionará tanto no mobile quanto na web, online e offline:
Bloco de código | ||||
---|---|---|---|---|
| ||||
var dataset = DatasetFactory.getDataset('dataset', new Array(), new Array(), new Array()); var dados = dataset.values; for ( var i in dados ) { var dado= dados[i]; var codigo = dado[“COD"COD_CLIENTE”CLIENTE"]; var nome = dado[“NOM"NOM_CLIENTE”CLIENTE"]; } |
Nota |
---|
A definição e a consulta estão padronizadas. O acesso a coluna será sempre da mesma forma, indiferente da funcionalidade usada. |
...