[Cascavel-pm] DBI

Luis Motta Campos luismottacampos em yahoo.co.uk
Terça Janeiro 22 12:38:35 PST 2008


Rodrigo Panchiniak Fernandes wrote:
>> Mas você tem de olhar o meu outro email para saber
>> como fazer loops e 
>> mostrar mais valores usando o DBI - 
> 
> Qual outro e-mail?

Este:

http://mail.pm.org/pipermail/cascavel-pm/2008-January/012654.html

> Porque, sim, eu sei que você sabe
> que eu sei fazer loops, mas que eu não sei como fazer
> isto usando o DBI de forma rápida e eficiente.

"Rápido e eficiente" é meio vago. Se você alocar um /cursor/ na sua base 
de dados (um SELECT já faz isso) e usar um while() aqui para puxar um 
registro de cada vez, não está bom?

Eu uso assim, e para mim, funciona na maior parte dos casos. ;)

> E também não entendi perfeitamente o que disseste
> abaixo:
> 
>> ... você está
>> selecionando todos os 
>> valores que deseja, mas está mostrando apenas o
>> primeiro.
> 
> Acho que estou selecionando, usando a tua sugestão,
> apenas as maçãs. Ou seja, se tenho,
> 
> maçã, vermelha
> maçã, verde
> morango, azul
> laranja, amarela
> pera, fucsia
> pera, preta
> 
> Obtenho, obviamente,
> 
> maçã, vermelha
> maçã, verde
> 
> Mas precisava de 
> 
> maçã, vermelha
> maçã, verde
> pera, fucsia
> pera, preta

Ah! Certo! Desculpe, é a minha compreensão do seu problema que ainda não 
está muito clara. Você quer uma lista de *tudo*, mas ordenada por 
*fruta*, certo?

Assim:

SELECT *
FROM fruta
ORDER BY fruta.nome, fruta.cor

E um loop para exibir os dados:

while( my $row = $sth->fetchrow_arrayref ){
   print @$row; # ou use seu código de output preferido
}

> Queres que eu ponha um loop do tipo fruta.nome = 'x',
> onde x varia da primeira fruta.nome à última? É isto
> que ensina o teu outro e-mail?

Nope. O email anterior tentava resolver o problema errado - isso é o que 
a gente ganha por usar texto para tentar explicar coisas complicadas. ;)

> Obrigado novamente e Putamplexos para ti também, o que
> quer que isto queira dizer! :)

   Argh... ok, eu criei um FAQ para isso:

   http://www.bitbistro.com/~champs/putamplexos.html

   Putamplexos!
-- 
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}


Mais detalhes sobre a lista de discussão Cascavel-pm