Perl 数据查询的技术

Perl 数据查询的技术,第1张

概述今天测试查询数据的时候发现一个很奇异的问题,对着这个问题做了个研究。 先看代码,具体如下: #!/usr/bin/perl use TDmodule; # create object $test=TDmodule->new(); # connect db return config $config=$test->connect_db("3d_database","localhost","root"

今天测试查询数据的时候发现一个很奇异的问题,对着这个问题做了个研究。

先看代码,具体如下:

#!/usr/bin/perl use TDmodule; # create object $test=TDmodule->new(); # connect db return config $config=$test->connect_db("3d_database","localhost","root","mojige123"); # select for db return database $old=$test->select_db($config,"select * from old_papar"); $user=$test->select_db($config,"select * from user_papar"); sub result{ local($sql)=shift; local($task)=shift; # print execute result while($List=$sql->fetchrow_hashref()){ push(@target,$List->{$task}); } return @target; } @old_papar=result($old,'ID'); @user_papar=result($user,'number'); foreach my $a (@old_papar){ print "$a\n"; } print "--------------\n"; foreach my $b (@user_papar){ print "$b\n"; }

在这种情况下读出的数据会有重复读取的问题,例如目标数据要求是每个表读取一次,但是这个方法看起来是读取一次,实际上是读取了两次。具体结果如下所示:

root@crunchbang:~# perl TDmodule.pl 1234567891011--------------1234567891011145404693616818746429206403319

第一次的结果将会包含到第二次中,为了解决这个问题,我仔细的修改了下代码,发现,只需要每次将容器清空,即可。在此MARK一下。方便以后查询。

#!/usr/bin/perluse TDmodule; # create object$test=TDmodule->new(); # connect db return config$config=$test->connect_db("3d_database","localhost","root","mojige123"); # select for db return database$old=$test->select_db($config,"select * from old_papar"); $user=$test->select_db($config,"select * from user_papar"); sub result{ local($sql)=shift; local($task)=shift; # clean List array  @target=(); # print execute result  while($List=$sql->fetchrow_hashref()){ push(@target,$List->{$task}); } return @target; } @old_papar=result($old,'ID'); @user_papar=result($user,'number'); foreach my $a (@old_papar){ print "$a\n"; } print "--------------\n"; foreach my $b (@user_papar){ print "$b\n"; }
总结

以上是内存溢出为你收集整理的Perl 数据查询的技术全部内容,希望文章能够帮你解决Perl 数据查询的技术所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1278233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存