资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> 其他编程 >> VB编程 >> 文档正文
最近更新
普通文档 定时提醒你休息的脚本
普通文档 用VB备份和恢复SQL Serv
普通文档 利用Visual Basic开发SA
普通文档 用DirectShow实现QQ的音
普通文档 Visual Basic数据库操作
普通文档 在VB中存取数据库中的图
普通文档 VB实现图像在数据库的存
普通文档 在VB中用DAO实现数据库编
普通文档 VB实现SQL Server 2000存
普通文档 基于Visual Basic 6的网
推荐文章
  • 此栏目下没有推荐文档
  • 在VB中用DAO实现数据库编程(1)

    文章作者:佚名 录入时间:2006-6-2 来源:不详
    网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


    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中,可以进行后续操作了。

     


      共2页: 1 [2] 下一页   

    四、 使用数据库:

      当打开数据库,建立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一定会帮你节约宝贵时间,为工作提供方便。


      共2页: 上一页 [1] 2   

  • 上一篇文档:

  • 下一篇文档:
  •     查找更多“在VB中用DAO实现数据库编程(1)”的内容  
    相关连接
  • 将Java程序变成Windows系统服务

  • 浅析Java多线程程序设计机制

  • Java初学者需掌握的30个基本概念(1)

  • JDBC 入门(1)

  • 面向Java程序员的Ajax:构建动态Java程序(1)