Criação de Query Virtual

Bem primeiramente gostaria de agradecer o convite dos organizadores deste site. A partir desta semana estaremos com um encontro marcado aqui no MXSTUDIO com artigos sobre ColdFusion, então iremos começar com uma a demonstração de um dos recursos mais importantes em ambiente de desenvolvimento que e Criação de Query Virtual, nesse artigo eu estarei mostrando como codificar no modo scripting (com CFSCRIPT) com funcionaliadade novas do (CFMX 6.1 – Redsky).

Em algumas ocasiões, necessitamos criar por alguma razão objetos de

consultas que não são originados das fontes de dados, chamamos isso de “Query Virtual”. Esse tipo de recurso é bastante útil em ambiente de

desenvolvimento para emular dados reais, é útil para converter objetos, é útil para adicionar colunas com registros às queries reais, era o que

faltava ao Coldfusion, a capacidade de gerar recordsets, similares aos do

action script.

Existem 4 funções que tratam diretamente a manipulação de queries virtuais,

são elas :

* QueryNew()

* QueryAddRow()

* QuerySetCell()

* QueryAddColumn()

Uma capacidade adicional, adicionada ao CFMX RedSky, é a possibilidade que não é encontrada em nenhum outro ‘recordset’ que é

armazenar dados complexos nas colunas de dados, ou seja, uma coluna de uma query virtual por exemplo, pode possuir (Arrays, Estruturas, Listas) aumentando consideravelmente o poder de

utilização das Queries virtuais.

No Exemplo abaixo demonstro vários recursos e formas de codificar essa

afirmação. veja os exemplos :

[cfscript]

qrVirtual = QueryNew(‘nome, sobrenome, email, coluna_virtual’); // usando

a função QueryNew()

arrVirtual = ArrayNew(1);

strVirtual = StructNew();

lstVirtual = ‘Coldfusion MX, Coldfusion MX RedsKy, Coldfusion 5,

Coldfusion 4.5′; // lista populada

// popular array

for (i = 1; i lte 10; i = i+1 )

{

ArrayAppend(arrVirtual, i * 50); // populando o array

}

// popular struct

for (i = 1; i lte 15; i = i+1 )

{

StructInsert(strVirtual, i, i * 50); // populando o struct

}

QueryAddRow( qrVirtual );

QuerySetCell( qrVirtual, ‘nome’ , ‘Jefferson’ );

QuerySetCell( qrVirtual, ‘sobrenome’ , ‘Petilo’);

QuerySetCell( qrVirtual, ‘email’ , ‘jefferson@kmm.com.br’ );

QuerySetCell( qrVirtual, ‘coluna_virtual’ , arrVirtual);

QueryAddRow( qrVirtual );

QuerySetCell( qrVirtual, ‘nome’ , ‘Jefferson’);

QuerySetCell( qrVirtual, ‘sobrenome’ , ‘Petilo’);

QuerySetCell( qrVirtual, ‘email’ , ‘jefferson@kmm.com.br’ );

QuerySetCell( qrVirtual, ‘coluna_virtual’ , strVirtual);

QueryAddRow( qrVirtual );

QuerySetCell( qrVirtual, ‘nome’ , ‘Jefferson’);

QuerySetCell( qrVirtual, ‘sobrenome’ , ‘Petilo’);

QuerySetCell( qrVirtual, ‘email’ , ‘jefferson@kmm.com.br’ );

QuerySetCell( qrVirtual, ‘coluna_virtual’ , lstVirtual);

[/cfscript]

Dúvidas.

Escrito por Jefferson_Petilo on fevereiro 9, 2004. Arquivado em Coldfusion. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>