专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Linux » vb连接access数据库:使用Perl连接Access数据库详解 »正文

vb连接access数据库:使用Perl连接Access数据库详解

来源: 发布时间:星期四, 2009年2月12日 浏览:118次 评论:0



  前题是必须安装好activeperl (505以上)以及MS Access 97
  
  . 安装Win32-ODBC模块
  步骤1:
  从TOOLS栏目中Win32-ODBC.zip,完后用winzip解开到个temp目录,共有 3个文件:
  Readme
  Win32-ODBC.ppd
  Win32-ODBC.tar.gz
  步骤2:
  在DOS窗口下temp目录中运行下面DOS命令:
  ppm Win32-ODBC.ppd
  
   2. 准备测试用数据库(ACCESS)
  步骤1:
  启动MS ACCESS,建立个新空数据库命名为odbctest.mdb,保存在某目录中(记住路径)
  步骤2:
  然后新建个表建立 3个字段:
  字段名称 数据类型
  Name 长度50
  Email 长度50
  Age 数字长整型
  
  将这个表保存为address(注意这个例子中没有用自动增加ID).输入若干记录:
  Nighthawk [email protected] 20 1234567
  John [email protected] 24 0284393293
  kit [email protected] 18 3948932
  
  保存后关闭数据库文件
  步骤3:
  打开控制面板中 ODBC数据源(32位)在用户DSN栏中找到用户数据源列表,选中名称为“MS Access 97 Database”然后按“配置”键
  在Database框中按"Select.."选择步骤1.2中建立数据库文件odbctest.mdb,按OK即可ODBC设置中其它项目全部采用缺省设置然后就是OK,确定关闭对话窗口
  
   3. 这时候数据库已经可以用了我们来测试下:
  #!/usr/bin/perl
  
  use Win32::ODBC;
  
  $DSN = "MS Access 97 Database";
  $DBase = "access.mdb";
  
  #连接数据库
  
   (!($db = Win32::ODBC($DSN))){
  pr "连接数据库失败.\n";
  exit;
  }
  {
  pr "连接数据库成功 (连接号:", $db->Connection, ")\n\n";
  }
  
  #数据库中
  pr "数据库中表:";
  @tables = $db->TableList;
  pr @tables;
  pr "\n";
  
  #选择数据表
   (! $db->Sql("SELECT * FROM [address] WHERE age>=20") ){
  
  @FieldNames = $db->FieldNames;
  
  $Cols = $#FieldNames + 1;
  
  #表中字段数
  pr "表address字段数:$Cols\n";
  
  #字段列表
  for ($i = 0; $i < $Cols; $i){
  pr "$FieldNames[$i]\t";
  }
  pr "\n";
  
  #列出年龄大于20记录
  while($db->FetchRow) {
  @values = $db->Data;
  pr @values;
  pr "\n";
  }
  
  }
  
  ##### sql #########
  #添加记录
  $sqlinsert = "INSERT INTO address VALUES ('Euler', 'euler\@21cn.com', 28, '021-345689')";
  #更新记录
  $sqlupdate = "UPDATE address SET age = age+10 ";
  #删除记录
  $sqldelete = "DELETE FROM address WHERE name='jimtyan'";
  
  $rc = $db->Sql($sqlinsert);
  die qq(SQL 失败 "$sqlinsert": ), $db->Error, qq(\n) $rc;
  
  $rc = $db->Sql($sqlupdate);
  die qq(SQL 失败 "$sqlupdate": ), $db->Error, qq(\n) $rc;
  
  $rc = $db->Sql($sqldelete);
  die qq(SQL 失败 "$sqldelete": ), $db->Error, qq(\n) $rc;
  
  #关闭链接
  $db->Close;
  
  进步学习请访问Win32-ODBC模块作者主页:http://www.roth.net/perl/odbc/
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: