本站文件搜索 :输入关键字,查找本站您所需要的文件! 本网站已经开通手机终端,手机访问http://www.dnjqxx.com 转至对应的WebApp域名。
当前位置:首页 > 电脑设计 > 电脑设计技巧 > 详细内容
在VB中用DAO实现数据库编程
发布时间:2015-2-12  阅读次数:2840  字体大小: 【】 【】【

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

 

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后,对学习最新的RPO和ADO也有很大的帮助。相信DAO一定会帮你节约宝贵时间,为工作提供方便。



我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!


电脑技巧学习网站版权所有  地址:广州市海珠区
       本站部分有关软件和系统的内容和观点来自网络,不代表本站观点!特此公告!电脑技巧学习论坛,真诚欢迎热爱探讨电脑技巧的朋友加入电脑技巧学习论坛,将你的观点、见解和作品分享给网友们!电脑技巧网,提供计算机知识,电脑使用技巧,电脑基础知识,让电脑爱好者可以快速学到电脑知识!
 注意事项:电脑不要24小时通电,偶尔会遭遇雷雨天气。会损坏电脑。 


站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

 copyright 2000-2109  ( dnjqxx.com ) All rights reserved   粤ICP备18150927号
广告联系|版权声明|下载帮助|软件发布| 网站地图|

企业简介 |总裁致辞|成长历程|联系我们|组织机构|企业文化

网站统计