[Cascavel-pm] Res: Res: Res: Duvida $dbh->prepare
Patty Silva
ptfzs em yahoo.com.br
Sexta Janeiro 26 07:55:52 PST 2007
Obrigada Nelson.
Inclui eval{ };die $@ if defined $@;
e
if( $@ ){
$dbh->rollback;
die "Problema na Base de Dados: $@";
}
Thanks :)
----- Mensagem original ----
De: Nelson Ferraz <nferraz em gmail.com>
Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
Enviadas: Sexta-feira, 26 de Janeiro de 2007 15:45:33
Assunto: Re: [Cascavel-pm] Res: Res: Duvida $dbh->prepare
Patty Silva wrote:
> sub insert
> {
>
> my ($nome,$var,$flag, em datas)=@_;
>
>
> my $sql = qq/ INSERT INTO tablea(Nome,Data) VALUES(?,?) ON DUPLICATE KEY UPDATE $var="$flag" /;
>
>
> eval
> {
> $sth2 = $dbh->prepare($sql);
>
> foreach my $data(@datas)
> {
> $sth2->execute($nome,$data);
>
>
> }
> $sth2->commit;
>
> };
>
> }
Patty,
Você colocou o código dentro de um eval, o que é bom, mas não verificou
se ele retornou um erro, o que é mau.
Seria melhor fazer o seguinte:
eval {
# código
};
# tratamento de erros
die $@ if defined $@;
Esconder mensagens de erro é o mesmo que varrer a sujeira pra debaixo do
tapete: você deixa de enxergar o problema, mas ele continua lá.
[]s
Nelson
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070126/c78480b6/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm