翰文个人计算机学习网
  • 翰文快讯
  • 翰文PC快讯
  • 综合软件区
  • 操作系统
  • 注册表解析
  • Windows系列
  • Unix/Linux
  • 其他系统
  • 应用软件
  • 微软MS Office
  • WPS Office
  • 多媒体软件
  • 图像处理
  • Photoshop
  • Painter
  • Illustrator
  • CorelDRAW
  • 三维空间
  • AutoCAD
  • 3DMAX
  • 3DMAYA
  • 硬件资源
  • 攒机指南
  • 硬件超频
  • 维修指南
  • 网络资源
  • 在线通讯
  • 网上冲浪
  • 浏览器中心
  • 网络故障解析
  • 病毒资料
  • 病毒通报
  • 病毒防治
  • 病毒常识
  • 黑客技巧
  • SQL/MySQL
  • Oracle
  • Delphi
  • 编程资源
  •  C/C#/C++/VC++/VC.NET
  •  Basic/VB/VB.NET/VBScript
  •  FoxBasic/FoxPro/VF/VF.NET
  •  Java/JavaScript
  • PowerBuilder
  • 热门词:
  • 翰文计算机学习网首页
  • >
  • Basic/VB/VB.NET/VBScript
  • >
  • 在VB中用DAO实现数据库编程
  • 在VB中用DAO实现数据库编程

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

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

      一、创建数据库:

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

      PrivateSubCom_creat_Click()

      OnErrorGoToErr100

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

      Msgbox"数据库建立完毕"

      ExitSub

      Err100:

      MsgBox"不能建立数据库!"vbCrLfvbCrLfErr.Description,vbInformation

      EndSub

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

      二、创建表与字段:

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

      

      PrivateSubCom_table_Click()

      OnErrorGoToErr100

      DimDefdbAsDataBase

      DimNewTableAsTableDef

      DimNewFieldAsField

      SetDefdb=Workspaces(0).OpenDatabase(App.path"数据库名称.mdb",0,False)

      SetNewTable=DefDataBase.CreateTableDef("表名")

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

      DefTableFields.AppendNewField′字段追加

      DefDatabase.TableDefs.AppendNewTable′表追加

      Msgbox"表建立完毕"

      ExitSub

      Err100:

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

      EndSub

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

      三、打开数据库:

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

      PrivateSubCommand_OpenDatabase_Click()

      DimdbaseasDatabase

      DimrsAsRecordset

      Setdbase=OpenDatabase(App.path"数据库名称.mdb")

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

      EndSub

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

      四、使用数据库:

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


      1)向前浏览

        PrivateSubcmd_previous_Click()

      rs.MovePrevious

      ifrs.BOF=Truethen

      rs.Movelast

      Endif

      fori=0to11

      label(i).caption=rs.F
      next

      EndSub

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

      2)向后浏览 

      PrivateSubcmd_next_Click()

      rs.MoveNext

      Ifrs.EOF=Truethen

      rs.MoveFirst

      Endif

      fori=0to11

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

      next

      EndSub

      3)删除记录

      PrivateSubcmd_del_Click()

      OnErrorGoTohandle

      Dimmsgasstring

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

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

      IfMsgbox(msg,17,"删除记录")1ThenExitsub

      rs.delete

      rs.Movenext

      Ifrs.EOF=TrueThen

      rs.MovePrevious

      Endif

      fori=0to11

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

      next

      handle:

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

      ExitSub

      EndSub

      4)添加记录

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

      PrivateSubcmd_new_Click()

      rs.AddNew

      Fori=0to11

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

      Next

      rs.Updata

      EndSub

      5)查找记录

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

      PrivateSubCmd_search_Click()

      Setrs=dbase.openRecordset("表名",dbopenDynaset)

      rs.findfirst"字段名=’"Text.Text"’"′Text.Text是的关键字

      ifrs.Nomatch=Truethen

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

      else

      Fori=0to11

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

      Next

      Endif

      rs.close

      EndSub

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

    感谢您对翰文计算机学习网的支持

  • 关于我们
  • 联系方式
  • 成功案例
  • 技术报价
  • RSS索引
  • 网站地图
  • 翰文电脑学习网
  • MSN:LNDDYGYC9@HOTMAIL.COM Powered by 翰文个人计算机学习网 版权所有,未经允许不得转载
    ICP备案号码:[沪ICP备12020678号] Copyright 2008-2020 HW-PCS.ORG, All Rights Reserved.