首页 >> 读书频道 >> 电脑 >> 网络数据库教程八
 
· 如何直接开启一个文件
· 如何让Window不接受
· 网络数据库教程七
· KeyBoard Key
· 更动MsgBox But
· Hook简介
· 如何得知Mouse已离开
· 网络数据库教程六
· TextBox模拟拖曳选
· 网络数据库教程五
· 如何在开始功能表的程式集
· 网络数据库教程四
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

网络数据库教程八


查看有无更新版本

关键字:VB 2006-9-18

 

下面,编写一些SQL代码,并将其放入变量。例如,在我昨天的例子中: 

$SQL = <<"EOT"; select title, released from albums 
     where artist="Genesis" order by released EOT 
这个变量是用户端光标查询(cursor)的核心。光标查询 (cursor)是一种先进的SQL查询方法,它执行逐行查询功能。该查询功能实际上在同时全部执行,但我们的Perl查询只能一行一行地获得查询结果,所以它感觉上象是针对应用程序的光标。用户端光标查询的语句及执行代码如下: 

     $cursor = $dbh->prepare($SQL); 

     $cursor->execute; 
现在我们逐行进行查询: 

     while ( @columns = $cursor->fetchrow ) { 

         print ( ( map { "[$_]" } @columns ) , "\n"); 

     } 
这行Perl代码用于打印出列序列中的每一条数据-其数值利用 $cursor-> fetchrow方法从$cursor行中提取出来。其数值用[ ]包围。很显然,我可以将任何内容放在while循环内,而不只是打印语句。 

最后,实现系统资源的回收和断开连接。我们关闭光标查询和数据库处理器。 

     $cursor->finish; 

     $dbh->disconnect; 
如果某个你想执行的SQ指令不是select语句,你不需要使用while ( $cursor->fetchrow ) { ... } 循环,因为你实际并不需要发布会任何信息,你不需要循环查询各行。 

假如在昨天的例子中,我没有从album数据库中删除my Genesis信息,我将利用今天所学的方法将其变成一个可以应用于互联网的ePerl程序。 

     <? 

         use DBI;    # 假如你没有startup.perl文件则需要假如该行代码 

     

         my $dbh = DBI->connect('DBI:mysql:test:localhost', '','') 

                   or die $DBI::errstr; 

         my $SQL = <<"EOT"; 

     select title, released 

     from   albums 

     where  artist = 'Genesis' 

     order  by released 

     EOT 

     

         my $cursor = $dbh->prepare($SQL); 

         $cursor->execute; 

     !>// 

     <HTML> 

     <HEAD><TITLE>ePerl/DBI/HTML Integration 

     Example</TITLE></HEAD> 

     <BODY> 

     
     <P> 

     有关Genesis albums的数据库程序结果为 ... 

     
     <HR> 


     <TABLE BORDER> 

     <TR><TH COLSPAN=2>Albums by Genesis</TH></TR> 

     <TR><TH>Title</TH><TH>Release 

     Date</TH></TR> 

     <? 

         my @columns; 

         while ( @columns = $cursor->fetchrow ) { 

              print ( "<TR>",( map { "<TD>$_</TD>" } 

        @columns ) , "</TR>\n"); 

         } 

     !>// 

     </TABLE> 



     <HR> 

     

     <P> 

     ... and that's it! 

     

     </BODY> 

     </HTML> 

     <? 

         $cursor->finish; 

         $dbh->disconnect; 

     !>// 
你可以查看该程序执行的结果。 

Albums by Genesis 
Title Release Date 
Selling England By The Pound 1973-01-01 
Trespass 1974-01-01 
A Trick of the Tale 1976-01-01 
Wind & Wuthering 1976-01-01 
Duke 1980-01-01 
We Can't Dance 1990-01-01 

四、 前景 .. 

我们已经学习了网络数据库编程的基本知识,在第5天的课程中,我们将编写一个系统演示编写网络数据库将遇到的各种情况。 

在生成该数据库之前还有一些细节问题需要研究。而且我们也不能忘记我们向数据库存取信息的基本途径:HTML表单。我将用到另外一个有用的Perl 模块,CGI.pm。 


网络数据库教程-第5日 
浏览: 344 次 
一 必不可少的CGI.pm 
二 数据库转义序列 
三 在Here-Document字符串内嵌入引用表达式 
四 嵌入子程序 
五 用SQL设置表单- selection.iphtml 
六 用CGI.pm - receive.iphtml处理表单结果   

网络数据库教程八

[ 1 ]
网络数据库教程八 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑