您现在的位置是:首页 >

实现接口有什么用 在Visual Basic中用DAO实现数据库编程

火烧 2021-11-11 13:02:59 1038
在Vi ual Ba ic中用DAO实现数据库编程   DAO DataAcce O ject 全称为数据访问对象 它是数据库编程的重要方法之一 DAO的一种面向对象的界面接口 特色为它不是可视化的对

在Visual Basic中用DAO实现数据库编程  

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

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

  一 创建数据库

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

  PrivateSubCom_creat_Click()

  OnErrorGoToErr

  CreatDataBase 数据库名称 mdb dbLangGeneral

  Msgbox 数据库建立完毕

  ExitSub

  Err :

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

  EndSub

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

  二 创建表与字段

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

  

  PrivateSubCom_table_Click()

  OnErrorGoToErr

  DimDefdbAsDataBase

  DimNewTableAsTableDef

  DimNewFieldAsField

  SetDefdb=Workspaces( ) OpenDatabase(App path& 数据库名称 mdb False)

  SetNewTable=DefDataBase CreateTableDef( 表名 )

  SetNewField=DefTable CreateField( 字段名 dBText )′创建一个字符型的字段 长度为 个字符

  DefTableFields AppendNewField′字段追加

  DefDatabase TableDefs AppendNewTable′表追加

  Msgbox 表建立完毕

  ExitSub

  Err :

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

  EndSub

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

  三 打开数据库

实现接口有什么用 在Visual Basic中用DAO实现数据库编程

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

  PrivateSubCommand_OpenDatabase_Click()

  DimdbaseasDatabase

  DimrsAsRecordset

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

  Setrs=dbase OpenRecordset( select*from表名 )

  EndSub

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

  四 使用数据库

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

   )向前浏览

    PrivateSubcmd_previous_Click()

  rs MovePrevious

  ifrs BOF=Truethen

  rs Movelast

  Endif

  fori= to

  label(i) caption=rs F

   )向后浏览 

  PrivateSubcmd_next_Click()

  rs MoveNext

  Ifrs EOF=Truethen

  rs MoveFirst

  Endif

  fori= to

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

  next

  EndSub

   )删除记录

  PrivateSubcmd_del_Click()

  OnErrorGoTohandle

  Dimmsgasstring

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

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

  IfMsgbox(msg 删除记录 )<> ThenExitsub

  rs delete

  rs Movenext

  Ifrs EOF=TrueThen

  rs MovePrevious

  Endif

  fori= to

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

  next

  handle:

  MsgBox 该记录无法删除!!!

  ExitSub

  EndSub

   )添加记录

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

  PrivateSubcmd_new_Click()

  rs AddNew

  Fori= to

  rs Fields(i)=TextBox(i) Text

  Next

  rs Updata

  EndSub

   )查找记录

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

  PrivateSubCmd_search_Click()

  Setrs=dbase openRecordset( 表名 dbopenDynaset)

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

  ifrs Nomatch=Truethen

  Msgbox 对不起 没有该记录

  else

  Fori= to

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

  Next

  Endif

  rs close

  EndSub

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

lishixinzhi/Article/program/c/201404/30446  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码