Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone


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 funcionarno 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
languagejs
themeEclipse
function defineStructure() { 
	addColumn("cod_cliente");
	addColumn("nom_cliente");
	
	setKey(["cod_cliente"]);
}

Acesso a coluna via desenvolvimento sobre a plataforma:

Bloco de código
languagejs
themeEclipse
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
languagejs
themeEclipse
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.

...