CFLOOP com CFQUERY, uma dica legal

Essa eu nunca vi por aí, aprendi sozinho e na marra, otimizando códigos feiosos e lerdos.

Se você está fazendo loopings em comandos SQL e tags CFQUERY, como no exemplo abaixo:

<CFLOOP INDEX=”counter” LIST=”#alguma_lista#”>
<CFQUERY NAME=”Query” DATASOURCE=”Datasource”>
Exemplo de Comando SQL
WHERE id=#counter#
</CFQUERY>
</CFLOOP>

Saiba que você pode poupar o pobre do seu BD mudando pouca coisa na sintáxe. O código abaixo deverá rodar 80% mais rapido que o anterior fazendo exatamente a mesma coisa, veja:

<CFQUERY NAME=”Query” DATASOURCE=”Datasource”>
<CFLOOP INDEX=”counter” LIST=”#alguma_lista#”>
Exemplo de Comando SQL
WHERE id=#counter#;
<CFLOOP>
</CFQUERY>

Perceba a mudança da tag CFLOOP para DENTRO da CFQUERY e a presença do ponto-e-vírgula no final da cláusula.

Pronto, agora você abre e fecha a conexão ao banco de dados (normalmente um processo que pode levar tempo), apenas uma vez! Um detalhe importante que você não pode esquecer: para que os comandos SQL funcionem corretamente você precisa separá-los com o ponto-e-vírgula (;). Essa é a sintaxe usada pelo MSSQL Server. Não sei ao certo qual é a sintaxe correta em outros bancos de dados (ou se é suportado de forma correta), mas isso funciona perfeitamente bem (e rápido, MUITO rápido) neste último. Faça o teste!


Suporte a unicode no Access? Sim!

Para quem estava chiando e sofrendo com a dobradinha Access & CFMX duas notícias: uma boa e outra ruim…
A boa é que existe um gateway ODBC-JDBC que faz a ponte direitinho, respeitando unicodes e outras coisas mais. A má notícia é que essa belezinha custa os olhos da cara (preços variam de U$170,00 a U$6.000,00, dependendo do número de conexões que você for usar). Masss… nem tudo está perdido, você pode usar um trial por 30 dias. Paul Hastings (que aliás é outro geólogo que usa ColdFusion) disse que em breve o MySQL oferecerá suporte completo para unicode. Vamos esperar! Enquanto isso você pode aproveitar e ler (e também pegar o link para o driver) este thread no MM webforum.


Querendo comprar o bom e velho CFServer 5?

Ainda é possível comprar a antiga versão do ColdFusion Server 5.0. Para quê? Bem… As possibilidades são muitas. Eu pessoalmente ainda vou ficar com o CF5 por um bom tempo. Gosto é gosto, não se discute.

Saudades, saudades do CF5…


UDF para que substitui o LSCurrencyFormat

Para quem estava ficando louco com o bug do JVM que mostra R$ 677,9 ao invés de R$ 677,90 segue abaixo uma UDF criada pelo Fernando Segalla que soluciona esse pepino.

<cfscript>
/**
* Works like the built-in function lsCurrencyFormat, but do it right for Brazilian Currency (R$ – Real).
*
* @param value Number to format. (Required)
* @return Returns a string.
* @author Fernando Segalla (segalla@intralab.com.br)
* @version 1, September 17, 2002
*/
function BRCurrencyFormat(valor) {
valor = DecimalFormat(valor);
valor = Replace(valor,’,’,’.’,’ALL’);
valor = Reverse(Replace(Reverse(valor),’.’,’,’,’ONE’));
if(valor LT 0) {
return (“(R$” & Right(valor,Len(valor)-1) & “)”);
} else {
return (“R$” & valor);
}
}
</cfscript>

Valeu Fernando!


“Fusebox super hits 4″…

Absolutamente nada a ver… Outro dia sai para comprar CD’s e me deparei com um título um tanto quanto estranho: FuseBox. Raciciocínio nerd imediato: “wow! um CD sobre Fusebox!!”… (sem comentários).

Não, trata-se apenas de um grupo de música eletrônica da Índia, muito bom por sinal! Tocam uma mistura de Chill-out com D&B. Bem legal, é da Trama e paguei trintão, na Cultura no Shopping Villa Lobos (SP).


Bom site de referências

Essa semana foi colocado no ar um site bem legal, a proposta é juntar num único lugar todas as referências sobre ColdFusion existentes. Uma boa para poder centralizar bookmarks. Aliás, o nome do site não poderia ser outro: cfbookmark.com.

O CF_GIGOLÔ já está lá!…. :o)


CFMX for J2EE Architecture

Descubra, nesse whitepaper, um pouco mais sobre o CFMX para servidores J2EE. Leitura recomendada:
CFMX for J2EE Architecture


CFMX e CF5 juntos?

Pesquei no blog do Sean. Um interessante artigo sobre como fazer com que o CF5 e o CFMX possam rodar juntos na mesma máquina, com o IIS:
http://www.tanjents.org/index.cfm?fuseaction=cfnotes.show


CFMX for J2EE, boas referências…

Pesquei no blog do Vern. São artigos bem legais que explicam, em linhas gerais o que, de fato, é o CFMX para servidores J2EE (WebSphere, JRun, etc), quais as diferenças para as versões Stand-Alone, etc. Vale a pena conferir:

. Logged In: ColdFusion MX for J2EE by Tom Hale. Scale your ColdFusion applications. Run them on the J2EE platform of your choice.

. A Natural Integration of Enterprise Standards and Rapid Development: A ColdFusion Engineer’s Perspective by Mike Brandt. See how ColdFusion MX for J2EE allows you to take advantage of rapid application development on a robust J2EE platform.

. Macromedia ColdFusion MX from a Java Architect’s Point of View by James Hurff. Explore opportunities that await Java developers in ColdFusion MX for WebSphere.

. Interview: The Story Behind ColdFusion MX for J2EE. Engineer Geoffrey Greene explains how the new architecture works.

. CFMX for J2EE Architecture (pdf) Find out more about the architecture underneath ColdFusion MX for J2EE.


Macromedia lança atualização do CFMX

A Macromedia lançou ontem a tão esperada atualização do ColdFusion MX. Algumas mudanças foram prometidas, vamos ver se algumas delas foram realmente feitas. Ainda não testei, mas assim que tiver uma idéia geral do que foi feito posto aqui. A macromedia não está lançando um service pack, trata-se de um “CFMX updater”, que ao ser rodado, checa as últimas correções, hotfixes, etc, para o CFMX. Vida longa ao CFMX!

CFMX Updater!

Veja também:
CFMX updater FAQ