Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl – 为什么我得到0E0作为DBI“execute”方法的返回值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我编写了一个示例Perl程序来从数据库表中删除数据.

这是我写的代码,

use DBI;

my $dbh = DBI->connect("DBI:Pg:host=192.168.12.23;port=5432;","adhi");                                                                                
if ( $dbh ) {

    print "Connected successfully\n";

    my $exe = $dbh->prepare("delete from perl_test.test");
    my $res = $exe->execute();
    if ( $res ) {
        print "deleted the table successfully of rows: $res\n";
    }
}

如果我已执行上述操作,则应打印成功的消息,然后删除已删除的行数.

如果表是空的,则打印0E0而不是0.
我不知道它是如何返回这样的值?

有人可以解释一下它是如何工作的吗?

解决方法

以这种方式完成以允许测试操作是否成功.原因是’0E0′(作为字符串)是一个真值,但0是Perl中的假值.因此:

>你可以测试if中的返回值以确定操作是否成功(true表示成功),
>但您也可以使用返回值作为数字来了解已删除行的确切数量,因为0E0在用作数字时计算结果为0.

如果只需要删除的行数,可以使用$res 0或$res * 1.但只有在测试操作成功后才能使用.

大佬总结

以上是大佬教程为你收集整理的perl – 为什么我得到0E0作为DBI“execute”方法的返回值?全部内容,希望文章能够帮你解决perl – 为什么我得到0E0作为DBI“execute”方法的返回值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。