[Cascavel-pm] Digest Cascavel-pm, volume 176, assunto 3
Márcio - UOL
marcio425 em uol.com.br
Quinta Dezembro 14 08:35:17 PST 2006
Olá a todos. Meu nome é Márcio, sou da área de conteúdo do site
Superdownloads e informados com muito prazer que estamos divulgando em nossa
home o evento Open Source Day.
Deixo aqui um canal aberto para toda e qualquer sugestão que contribui para
nossa área de programas para desenvolvimento. Há muito tempo estamos nos
esforçando para divulgar softwares que realmente facilitem a vida daqueles
que trabalham diariamente com programação, porém, em reunião, decidimos que
o usuário mais do que ninguém sabem de suas necessidades diárias.
Sendo assim, gostaria muito que todos os profissionais nos ajudassem a
melhorar o conteúdo indicando programas que contribuam para a difusão do
conhecimento.
Quem tiver alguma dica de software, queira divulgar um tutorial de sua
autoria ou eventos e palestras podem encaminhar email para
marcio em superdownloads.com.br ou add no messenger o contato
marcio425 em superdownloads.com.br.
Estamos aberto a toda e qualquer sugestão e agradecemos a ajuda da
comunidade.
Márcio Lima
www.superdownloads.com.br
----- Original Message -----
From: <cascavel-pm-request em pm.org>
To: <cascavel-pm em pm.org>
Sent: Wednesday, December 13, 2006 4:20 PM
Subject: Digest Cascavel-pm, volume 176, assunto 3
Enviar submissões para a lista de discussão Cascavel-pm para
cascavel-pm em pm.org
Para se cadastrar ou descadastrar via WWW, visite o endereço
http://mail.pm.org/mailman/listinfo/cascavel-pm
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
corpo da mensagem para
cascavel-pm-request em pm.org
Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
cascavel-pm-owner em pm.org
Quando responder, por favor edite sua linha Assunto assim ela será
mais específica que "Re: Contents of Cascavel-pm digest..."
Tópicos de Hoje:
1. [OT] Open Source Day (Solli Honorio)
2. Re: Verificar se veio dados do banco (Ricardo Portilho Proni)
3. Re: Verificar se veio dados do banco (Gilmar Santos Jr)
4. Re: Verificar se veio dados do banco (Gabriel Vieira)
5. Re: Verificar se veio dados do banco (Eden Cardim)
6. Re: Verificar se veio dados do banco (Gilmar Santos Jr)
7. Re: Verificar se veio dados do banco (Eden Cardim)
----------------------------------------------------------------------
Message: 1
Date: Tue, 12 Dec 2006 20:51:15 -0200
From: "Solli Honorio" <shonorio em gmail.com>
Subject: [Cascavel-pm] [OT] Open Source Day
To: saopaulo-pm em mail.pm.org, "Cascavel Perl Mongers"
<cascavel-pm em pm.org>
Message-ID:
<12d1f4ee0612121451h1bab7ab7qf7028197607bccdb em mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Pessoal,
No dia 16 de Dezembro, sábado próximo, será realizado o Open Source Day com
a participação do São Paulo Perl Mongers no mini-curso de Perl.
Informações sobre o local e horário estão disponível no banner do evento no
site do www.perl.org.br.
Fica aqui o meu convite a todos.
Abraços,
Solli M. Honório
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL:
http://mail.pm.org/pipermail/cascavel-pm/attachments/20061212/eed98952/attachment-0001.html
------------------------------
Message: 2
Date: Wed, 13 Dec 2006 16:09:32 -0300
From: Ricardo Portilho Proni <ricardoportilho em terra.com.br>
Subject: Re: [Cascavel-pm] Verificar se veio dados do banco
To: Cascavel Perl Mongers <cascavel-pm em pm.org>
Cc: Lista-PortoAlegre <portoalegre-pm em pm.org>
Message-ID: <45804FEC.8050902 em terra.com.br>
Content-Type: text/plain; charset="iso-8859-1"
Não sei se existe uma forma melhor. Deve existir.
$sql="Select * from teste where datahora="2006-12-11 00";
my $ind_dados = 0;
$sth = $dbh->prepare($sql) || die $DBI::errstr;
$sth->execute || die $DBI::errstr;
while (my $ref = $sth->fetchrow_hashref()) {$ind_dados++;}
if ($ind_dados > 0) {Veio dados do banco !\n;}
$sth->finish();
Ricardo Portilho Proni
Oracle Database 10g Administrator Certified Associate
Microsoft Certified Professional
Nerv Informática Ltda.
Patty Silva escreveu:
> Ola pessoal, como faco para verificar se veio dados do banco ou nao?
>
> faco assim:
>
> $sql="Select * from teste where datahora="2006-12-11 00";
>
> $sth = $dbh->prepare($sql) || die $DBI::errstr;
> $sth->execute || die $DBI::errstr;
> $sth->finish();
>
>
>
>
> Quero verificar se a consulta me retornou resultado ou nao..
>
> Alguem pde me ajudar?/
>
> Obrigada
>
> :D
>
> ------------------------------------------------------------------------
> Yahoo! Search
> Música para ver e ouvir: You're Beautiful, do James Blunt
> <http://us.rd.yahoo.com/mail/br/tagline/search/video/*http://br.search.yahoo.com/search/video?p=james+blunt&ei=UTF-8&cv=g&x=wrt&vm=r&fr=intl-mail-br-b>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.432 / Virus Database: 268.15.9/573 - Release Date: 12/5/2006
> 4:07 PM
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL:
http://mail.pm.org/pipermail/cascavel-pm/attachments/20061213/72c550cc/attachment-0001.html
------------------------------
Message: 3
Date: Wed, 13 Dec 2006 15:19:16 -0300
From: Gilmar Santos Jr <gilmarjr em dcc.ufba.br>
Subject: Re: [Cascavel-pm] Verificar se veio dados do banco
To: Cascavel Perl Mongers <cascavel-pm em pm.org>
Message-ID: <45804424.9010800 em dcc.ufba.br>
Content-Type: text/plain; charset=ISO-8859-1
Se o objetivo for simplesmente saber se veio ou não (e opcionalmente
quantos) muda-se a query para "select count(*) from ...", isso sempre
retorna 1 resultado, e o resultado diz quantas linhas a query retornaria...
Boa sorte,
Gilmar
- Salvador Perl Mongers
Patty Silva escreveu:
> Ola pessoal, como faco para verificar se veio dados do banco ou nao?
>
> faco assim:
>
> $sql="Select * from teste where datahora="2006-12-11 00";
>
> $sth = $dbh->prepare($sql) || die $DBI::errstr;
> $sth->execute || die $DBI::errstr;
> $sth->finish();
>
>
>
>
> Quero verificar se a consulta me retornou resultado ou nao..
>
> Alguem pde me ajudar?/
>
> Obrigada
>
> :D
>
> ------------------------------------------------------------------------
> Yahoo! Search
> Música para ver e ouvir: You're Beautiful, do James Blunt
> <http://us.rd.yahoo.com/mail/br/tagline/search/video/*http://br.search.yahoo.com/search/video?p=james+blunt&ei=UTF-8&cv=g&x=wrt&vm=r&fr=intl-mail-br-b>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
------------------------------
Message: 4
Date: Wed, 13 Dec 2006 15:30:21 -0300
From: "Gabriel Vieira" <gabriel.vieira em gmail.com>
Subject: Re: [Cascavel-pm] Verificar se veio dados do banco
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Message-ID:
<83d8367f0612131030r6d1bcafdw498eeead1bbf148 em mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
------------------>8--------------------------
my $datahora = "2006-12-11 00";
my $sth = $dbh->prepare("SELECT * FROM teste WHERE datahora=?") or die
$DBI::errstr;
$sth->execute($datahora);
print "Existem dados" if $sth->rows;
$sth->finish();
------------------8<--------------------------
Creio que satisfaça :)
On 12/13/06, Gilmar Santos Jr <gilmarjr em dcc.ufba.br> wrote:
>
> Se o objetivo for simplesmente saber se veio ou não (e opcionalmente
> quantos) muda-se a query para "select count(*) from ...", isso sempre
> retorna 1 resultado, e o resultado diz quantas linhas a query
> retornaria...
>
> Boa sorte,
> Gilmar
> - Salvador Perl Mongers
>
> Patty Silva escreveu:
> > Ola pessoal, como faco para verificar se veio dados do banco ou nao?
> >
> > faco assim:
> >
> > $sql="Select * from teste where datahora="2006-12-11 00";
> >
> > $sth = $dbh->prepare($sql) || die $DBI::errstr;
> > $sth->execute || die $DBI::errstr;
> > $sth->finish();
> >
> >
> >
> >
> > Quero verificar se a consulta me retornou resultado ou nao..
> >
> > Alguem pde me ajudar?/
> >
> > Obrigada
> >
> > :D
> >
> > ------------------------------------------------------------------------
> > Yahoo! Search
> > Música para ver e ouvir: You're Beautiful, do James Blunt
> > <
> http://us.rd.yahoo.com/mail/br/tagline/search/video/*http://br.search.yahoo.com/search/video?p=james+blunt&ei=UTF-8&cv=g&x=wrt&vm=r&fr=intl-mail-br-b
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
--
Gabriel Vieira
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL:
http://mail.pm.org/pipermail/cascavel-pm/attachments/20061213/7635acd9/attachment-0001.html
------------------------------
Message: 5
Date: Wed, 13 Dec 2006 15:35:22 -0300
From: "Eden Cardim" <edencardim em gmail.com>
Subject: Re: [Cascavel-pm] Verificar se veio dados do banco
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Message-ID:
<3de55ead0612131035jc61f425ke71a18a74c8216b8 em mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
On 12/13/06, Gilmar Santos Jr <gilmarjr em dcc.ufba.br> wrote:
> Se o objetivo for simplesmente saber se veio ou não (e opcionalmente
> quantos) muda-se a query para "select count(*) from ...", isso sempre
> retorna 1 resultado, e o resultado diz quantas linhas a query
> retornaria...
Precisamente, e se usar DBIx::Class, a consulta é trocada
automaticamente, de acordo com o contexto.
<code>
if($result = $schema->resultset('Teste')) { #select count...
$row = $result->next;
#fazer algo com a primeira $row
$row = $result->next;
#fazer algo com a segunda $row
#etc...
}
foreach $row ($schema->resultset('Teste')) { #select * from...
#fazer algo com a $row atual
}
</code>
--
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl
------------------------------
Message: 6
Date: Wed, 13 Dec 2006 15:48:44 -0300
From: Gilmar Santos Jr <gilmarjr em dcc.ufba.br>
Subject: Re: [Cascavel-pm] Verificar se veio dados do banco
To: Cascavel Perl Mongers <cascavel-pm em pm.org>
Message-ID: <45804B0C.4060906 em dcc.ufba.br>
Content-Type: text/plain; charset=ISO-8859-1
Eden Cardim escreveu:
> Precisamente, e se usar DBIx::Class, a consulta é trocada
> automaticamente, de acordo com o contexto.
>
Uau!
DBIx::Clas+++++++ :)
Não tenho certeza, mas acho que $sth->rows executa a query normalmente,
armazena os resultados e retorna quantos tem. No caso da DBIx::Class (ou
se for feito um select count(*) na mão) não há gasto de memória extra
armazenando-se o resultado.. alguém sabe mais sobre isso? Estou chutando. :)
Nesse código:
if($result = $schema->resultset('Teste')) { #select count...
$row = $result->next;
#fazer algo com a primeira $row
$row = $result->next;
#fazer algo com a segunda $row
#etc...
}
No if se faz um select. Mas para o primeiro next, pelo menos, deve haver
outro. De repente nesse contexto seria interessante fazer logo a query
no if, pois se não retornar resultados não há diferença entre uma forma
e outra. Já se retornar fazendo um "select count" obriga a fazer um
select "normal" depois, ou seja, há 2 consultas ao invés de uma...
A vantagem que vejo nesse método é se a única informação necessária é de
fato quantos elementos são retornados e não os elementos em si...
Me corrijam se estiver falando besteira :)
[]'s
Gilmar
------------------------------
Message: 7
Date: Wed, 13 Dec 2006 16:19:57 -0300
From: "Eden Cardim" <edencardim em gmail.com>
Subject: Re: [Cascavel-pm] Verificar se veio dados do banco
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Message-ID:
<3de55ead0612131119w6768afc5m505166739684b07 em mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
On 12/13/06, Gilmar Santos Jr <gilmarjr em dcc.ufba.br> wrote:
> Eden Cardim escreveu:
> > Precisamente, e se usar DBIx::Class, a consulta é trocada
> > automaticamente, de acordo com o contexto.
> >
>
> Uau!
>
> DBIx::Clas+++++++ :)
>
> Não tenho certeza, mas acho que $sth->rows executa a query normalmente,
> armazena os resultados e retorna quantos tem. No caso da DBIx::Class (ou
> se for feito um select count(*) na mão) não há gasto de memória extra
> armazenando-se o resultado.. alguém sabe mais sobre isso? Estou chutando.
> :)
O DBIx::Class faz lazy population por padrão. Para cada row que você
solicita, é feita uma consulta ao banco e os resultados são guardados
num cache, para que acessos subsequentes não gerem novas consultas (a
não ser que você queira isso, para atualizar o cache, por exemplo).
Isso é o ideal se são selecionadas rows individuais aleatoriamente.
Se você quiser, pode popular o resultset com uma única consulta, o que
é ideal se você sabe, com antecedência, de que vai precisar acessar
todas as rows, isso evita o overhead de executar uma consulta por
acesso.
Existe também uma opção intermediária que são as consultas paginadas.
Sumarizando, você indica quantas rows quer carregar no cache por
consulta e qual a página de resultados quer obter na consulta atual.
A documentação, que, por sinal, é muito boa, explica tudo com mais detalhes
>
> Nesse código:
>
> if($result = $schema->resultset('Teste')) { #select count...
> $row = $result->next;
> #fazer algo com a primeira $row
> $row = $result->next;
> #fazer algo com a segunda $row
> #etc...
> }
>
>
>
> No if se faz um select. Mas para o primeiro next, pelo menos, deve haver
> outro. De repente nesse contexto seria interessante fazer logo a query
> no if, pois se não retornar resultados não há diferença entre uma forma
> e outra. Já se retornar fazendo um "select count" obriga a fazer um
> select "normal" depois, ou seja, há 2 consultas ao invés de uma...
>
> A vantagem que vejo nesse método é se a única informação necessária é de
> fato quantos elementos são retornados e não os elementos em si...
>
> Me corrijam se estiver falando besteira :)
Sim, você está perfeitamente correto. O objeto ResultSet é
sobrecarregado para stringificar para o resultado de um "select
count...", o uso do if nesse caso foi apenas para ilustrar a
flexibilidade do DBIC. ;)
--
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl
------------------------------
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
Fim da Digest Cascavel-pm, volume 176, assunto 3
************************************************
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.409 / Virus Database: 268.15.18/584 - Release Date: 12/12/2006
Mais detalhes sobre a lista de discussão Cascavel-pm