• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
在VB中用DAO实现数据库编程
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
在VB中用DAO实现数据库编程
软件发布 在VB中用DAO实现数据库编程
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 编程技术 | VB & VB.NET教程 | 在VB中用DAO实现数据库编程

在VB中用DAO实现数据库编程

 

添加时间: 2006-2-17 3:43:02  作者: VB教程  阅读次数:1174   来源: http://www.d9soft.com

 

 

       

  DAO(Data Access Object)全称为数据访问对象,它是数据库编程的重要方法之一。DAO的一种面向对象的界面接口,特色为它不是可视化的对象,使用它全部都要靠编码来完成,DAO是设计关系型数据库系统结构的对象类的集合。它提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。由于ADO(ActiveX Data Object ActiveX 数据对象)的出现,DAO的使用已大大减少,但它无须使用ODBC(开放数据库连接)便可连接各个数据源,因而我们仍经常用经典的DAO。下面我向大家详细介绍如何使用DAO编程。

  DAO使用之前必须先引用。方法为打开VB6.0 , 从VB的"工程"菜单中,选择"引用"项,当"引用"对话框出现后,从库的列表中,选择"Microsoft DAO 3.51 Object Library",单击"确定"。现在便可以使用DAO对象库提供的所有对象进行编程了。

  一、 创建数据库:

  在DAO中用CreatDataBase方法可以根据用户需求动态的创建数据库。这一点在程序中是非常有用的。用户可以根据要求实时建立数据库。建立过程如下:  

  Private Sub Com_creat_Click()

  On Error GoTo Err100

  CreatDataBase "数据库名称.mdb" ,dbLangGeneral

  Msgbox "数据库建立完毕"

  Exit Sub

  Err100:

  MsgBox "不能建立数据库! " & vbCrLf & vbCrLf & Err.Description, vbInformation

  End Sub

  这样,数据库便在当前默认的路径下建立了。

  二、 创建表与字段:

  建立数据库后,则需要在该数据库中建立表,这要用到TableDef 对象。先定义一个TableDef类型的对象,然后用TableDef集合中Append方法将之追加到数据库当中去。并且同时定义一个Field对象,用CreatFiele的方法创建一个Field对象,向表中添加字段。例如:

  

  Private Sub Com_table_Click()

  On Error GoTo Err100

  Dim Defdb As DataBase

  Dim NewTable As TableDef

  Dim NewField As Field

  Set Defdb = Workspaces(0).OpenDatabase (App.path & "\数据库名称.mdb" ,0, False)

  Set NewTable = DefDataBase.CreateTableDef("表名")

  Set NewField = DefTable.CreateField( "字段名" , dbText ,6) ′创建一个字符型的字段,长度为6个字符

  DefTableFields.Append NewField ′字段追加

  DefDatabase.TableDefs.Append NewTable ′表追加

  Msgbox " 表建立完毕 "

  Exit Sub

  Err100:

  MsgBox "对不起,不能建立表。请先再建表前建立数据库?", vbCritical

  End Sub

  一个数据库可能有十几个甚至几十个字段,一个表中有多少个字段,则要创建多少次并要追加到表中。每建立一个字段后都要用到字段追加命令,但是表追加只需在所有字段建立完成后用一条命令即可完成。   

  三、 打开数据库:

  在VB中,对一个对象变量引用之前必须加以说明。DAO也是如此,必须先声明数据库变量,例如:Dim dbase As Database 。建立了数据库对象变量后,我们便可打开数据库了,在一般情况下都只是访问一个数据库,当打开数据库后再对数据库中的各个记录进行操作,这就要用到Recordset 对象建立记录集。例如:  

  Private Sub Command_OpenDatabase_Click()

  Dim dbase as Database

  Dim rs As Recordset

  Set dbase = OpenDatabase ( App.path & "\数据库名称.mdb" )

  Set rs = dbase.OpenRecordset ( " select * from 表名 " )

  End Sub

  这样,数据库中的记录便放到Recordset中,可以进行后续操作了。

  四、 使用数据库:

  当打开数据库,建立Recordset 记录集后,便可浏览、删除、添加、查找数据库中的内容。

  (未完)

  1) 向前浏览

    Private Sub cmd_previous_Click()

  rs.MovePrevious

  if rs.BOF =True then

  rs.Movelast

  End if

  for i = 0 to 11

  label(i).caption = rs.Fields(i) & ""

  next

  End Sub

  在字段赋值的末尾加上""可以避免许多不必要的错误,在数据库中,当一个字段为空的时候,它的值为Null ,Null表示什么也没有。因此无法赋值,赋给变量时会出错。但我们加上""空格符时,便有效的避免了赋值错误,这个技巧非常的有用。

  2) 向后浏览  

  Private Sub cmd_next_Click()

  rs.MoveNext

  If rs.EOF =True then

  rs.MoveFirst

  End if

  for i = 0 to 11

  label(i).caption = rs.Fields(i) & ""

  next

  End Sub

  3) 删除记录

  Private Sub cmd_del_Click()

  On Error GoTo handle

  Dim msg as string

  msg = "是否要删除记录"& Chr$(10)

  msg = msg & label(0) ′把删除记录的代号加入msg中

  If Msgbox(msg , 17 , "删除记录") <> 1 Then Exit sub

  rs.delete

  rs.Movenext

  If rs.EOF = True Then

  rs.MovePrevious

  End if

  for i = 0 to 11

  label(i).caption = rs.Fields(i) & ""

  next

  handle:

  MsgBox "该记录无法删除!!!"

  Exit Sub

  End Sub

  4) 添加记录

  向数据库中添加记录比较麻烦一点,大致分为三步:首先,用AddNew方法向数据库添加一个新的空白记录;其次,将要输入的数据分别赋到数据库的各个字段中;最后,用Updata的方法,把记录写到数据库中去。例如: 

  Private Sub cmd_new_Click()

  rs.AddNew

  For i = 0 to 11

  rs.Fields(i) = TextBox(i).Text

  Next

  rs.Updata

  End Sub

  5)查找记录

  查找记录可以用Find方法,例如:  

  Private Sub Cmd_search_Click()

  Set rs = dbase.openRecordset("表名",dbopenDynaset)

  rs.findfirst "字段名= ' " & Text.Text & " ' " ′ Text.Text是输入的关键字

  if rs.Nomatch = True then

  Msgbox "对不起,没有该记录"

  else

  For i = 0 to 11

  label(i).caption = rs.Fields(i) & ""

  Next

  End if

  rs.close

  End Sub

  以上只是大致介绍了DAO的一些最常用、最典型的用法,真正要熟练掌握它需要不懈的努力。当你很好的理解了DAO后,对学习新的RDO和ADO也有很大的帮助。并且DAO和ADO可以同时使用,DAO的缺陷在于查找功能不强,没有ADO方便,但动态创建数据库却远超ADO,因此有时二者结合更强大。我们相信DAO一定会帮你节约宝贵时间,为工作提供方便。

 

 

 

上下文章:

 

上一篇文章: Data控件使用有密码的Access数据库 下一篇文章: 谈谈VB的数据库编程方式

相关文章:

  • Oracle下调数据库许可价格以适应多芯CPU
  • Oracle发布免费数据库管理工具Raptor
  • 甲骨文意外泄漏数据库安全漏洞
  • Oracle认证数据库备份技巧
  • 甲骨文发布数据库新工具·启动内容管理战略

相关软件:

  • 子墨数据库同步工具 V1.0.0.0
  • 易语言汉语编程环境 V4.10
  • 腾讯QQ IP数据库 V0605 纯真版
  • 腾讯QQ IP数据库 V0420 纯真版(繁体版)
  • 火柴峰动画(1760数据库)
  • 天翼音乐美化版(三万音乐、图片数据库)

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库
  • 用DAO或ADO正确访问Access 2000

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 初学者必知:VB10个小编程
  • 如何编写高质量的VB代码
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • 第二章 PowerBuilder 入门之创建新...
  • Java连接数据库实例
  • 第一章 什么是PowerBuilder
  • VC++之List Box/Check List Box控...
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有