教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
  网站导航: 库库中文网 · 数据库类教程 · Mysql教程  

Perl DBI 基本的

教程推荐
『Perl DBI 基本的』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-7-25 
    本节提供DBI 的背景信息—在编写自己的脚本和支持其他人编写的脚本时,需要这些信息。如果已经熟悉DBI,则可以略过这节,直接跳到7 . 3节“运行DBI”。

DBI 数据类型

    从某些方面来说,使用Perl DBI API 类似于使用第6章介绍的C 客户机库。在使用C 客户机库时,主要依靠指向结构或数组的指针来调用函数和访问与MySQL相关的数据。在使用DBI API 时,除了函数称为方法,指针称为引用外,也调用函数和使用指向结构的指针。
指针变量称为句柄,句柄指向的结构称为对象。
    DBI 使用若干种句柄。它们往往通过表7-1所示的惯用名称在DBI 文件中引用。而惯用的非句柄变量的名称如表7 - 2所示。实际上,在本章中,我们并不使用每个变量名,但是,在阅读其他人编写的DBI 脚本时,了解它们是有用的。
表7-1惯用的Perl DBI 句柄变量名

名称 说明 $dbh 数据库对象的句柄 $sth 语句(查询)对象的句柄 $fh 打开文件的句柄 $h “通用”句柄;其意义取决于上下文

表7-2 惯用的Perl DBI 非句柄变量的名称

名称 说明 $rc 从返回真或假的操作中返回的代码 $rv 从返回整数的操作中返回的值 $rows 从返回行数的操作中返回的值 @ary 查询返回的表示一行值的数组(列表)


一个简单的DBI 脚本

    让我们从一个简单脚本d um p _ member s开始,它举例说明了DBI 程序设计中若干标准概念,如与MySQL服务器的连接和断开、检索数据等。此脚本产生的结果为以制表符分隔形式列出的历史同盟成员。这个格式本身并不让人感兴趣:在这里,了解如何使用DBI 比产生漂亮的输出更为重要。
    dump_members 如下:


    要想自己试验这个脚本,可以下载它(请参阅符录A),或使用文本编辑器创建它,然后使之可执行,以便能运行。当然,可能至少需要更改一些连接参数(主机名、数据库名、用户名和口令)。本章中的其他DBI 脚本也是这样。在参数缺省时,本章下载脚本的权限设置为只允许读。如果您将自己的MySQL用户名和口令放在它们之中,我建议将它们保留为这种方式,以便其他人不能读取这些值。以后,在7 . 2 . 8节“指定连接参数”中,我们将看到如何从选项文件中获得这些参数,而不是将它们直接放在脚本中。
    现在,让我们逐行看完这个脚本。第一行是标准行,指出哪里可以找到Perl 的指示器:
    #! /usr/bin/perl
    在本章将要讨论的脚本中,每个脚本都包含这行;以后不再说明。此脚本中至少应该含有一个简短的目的说明,这是一个好主意,所以下一行是一个注释,给阅读此脚本的人提供一个关于它做什么的线索:
    # dump_members.dump Historical League's membership list
    从‘#’字符到行尾部的文本为注释。有必要做一些练习,就是在整个脚本中编写一些注释来解释它们如何工作。
    接下来是两个use 行:
    use DBI;
    use strict;
    use DBI 告知Perl 解释程序它需要引入DBI 模块。如果没有这一行,试图在脚本中做与DBI 相关的任何事,都将出现错误。不需要指出想要哪个DBD 级别的模块。在连接数据库时,DBI 会激活相应的模块。
    use strict 告知Perl,在使用它们之前需要声明变量。如果没有use strict 行,也可以编写脚本,但是,它有助于发现错误,所以建议始终要包括这行。例如,置为严格模式时,如果声明变量$ my _ v a r,但是之后错误地用$mv_var 来访问,则在运行这个脚本时,将获得下面的消息:
    Global symbol "$mv_var" requires explicit package name at line n
    这个消息会使您想,“怎么了?$ m v _ v a r?我从未使用过这种名称的变量!”,然后,找到脚本中的第n行,看是什么问题,并改正它。如果不用严格模式, Perl 不会给出$ m v _ v a r;将只是简单地按具有un d e f(未定义的)值的该名称创建一个新的变量,并毫无动静地使用它,然后,您会莫名其妙脚本为什么不工作。
    因为我们在严格模式下操作,所以我们将定义脚本使用的变量:

    现在我们准备连接数据库:

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

】【关闭窗口
  上一页:
  下一页:
 ·网站导航: 库库中文网 · 数据库类教程 · Mysql教程
Mysql教程:相关文章
Mysql教程点击榜
普通教程开源数据库MySQL优化秘籍(1)
普通教程MySQL 5.1正式版准备就绪就要公
普通教程带你随意接触一个检查测试MySQL
普通教程将MySQL迁移到Oracle(一)
普通教程Sun并购MySQL后推出开源数据库完
普通教程Sun宣布已完成对开源数据库MySQ
普通教程MySQL:运用原始代码分发版还是二
普通教程Flex中地MySQL管理(1)
普通教程MySQL数据库地临时文件究竟储存
普通教程解释分析MySQL完全中文化
PHOTOSHOP - 基础教程 抠图专题 蒙版专题 3DsMax 基础 设计实例 Maya设计实例
3D设计教程
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright ? 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL. 电脑硬件 电脑知识 教程学习
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光