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
一个数据库可能有十几个甚至几十个字段 一个表中有多少个字段 则要创建多少次并要追加到表中 每建立一个字段后都要用到字段追加命令 但是表追加只需在所有字段建立完成后用一条命令即可完成
三 打开数据库
在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/30446Microsoft Visual Basic NET是Microsoft Visual Basic的更新版本 它基于 NET的框架结构 能使用户非常容易地创建Microsoft Windows *** 作系统和网络的应用程序 使用Visual Basic NET 可以快速地实现可视化开发网络应用程序 网络服务 Windows 应用程序和服务器端组件 另外 Visual Basic NET为Windows应用程序提供了XCOPY部署 开发人员不再需要为DLL的版本问题担忧 Visual Basic现在已经真正成为面向对象以及支持继承性的语言 窗体设计器支持可视化继承 并且包含了许多新的特性 比如自动改变窗体大小 资源本地化以及可达性支持 数据类工具内在支持XML数据 在设计时数据绑定使用断开的数据 另外 Visual Basic NET直接建立在 NET的框架结构上 因此开发人员可以充分利用所有平台特性 也可以与其他的 NET语言交互 在这篇文章中我要跟大家讲的 是介绍Visual Basic NET的数据库编程及其相关知识
一 先介绍ADO NET和ODBC NET
ADO NET由Microsoft ActiveX Data Objects (ADO)改进而来 它提供平台互用和可收缩的数据访问功能 是Visual Basic NET进行数据库编程所使用的重要工具 ADO NET 使用了某些 ADO 的对象 如 Connection 和 Command 对象 并且还引入了新的对象 主要的新 ADO NET 对象包括 DataSet DataReader 和 DataAdapter
ODBC NET是 NET框架中另外一个很有用的用于数据库开发的类库 但是 在 NET FrameWork SDK 版中不包含ODBC NET 要使用ODBC NET请到微软网站下载 具体下载地址 //msdn microsoft /library/default asp?url=/downloads/list/netdevframework asp(文件名是odbc_net msi)在默认情况下 安装路径是 C:\Program File\Microsoft net\odbc net 安装后的组件名为Microsoft Data Odbc dll文件
添加ODBC NET Data Provider的步骤
启动Visual Basic NET开发环境 选中菜单栏的[工具]—>[数据]—>[自定义工具箱] 在d出的[自定义工具箱]对话框中选[ Net 框架组件]单击[浏览]按钮 在 C:\Program File\Microsoft net\odbc net 目录下选择Microsoft Data Odbc dll文件 接下来就在[自定义工具箱]中选择 OdbcCommand OdbcCommandBuilder OdbcConnection OdbcDataApdater 后 单击[确定] 至此 完成了在Visual Basic NET中加入ODBC NET
二 接下来介绍数据提供者(Data Provider)
ADO NET和ODBC NET两者共提供了三种数据提供者 其中ADO NET提供两种(The SQL Server NET Data Provider和 The OLE DB NET Data Provider ) ODBC NET提供一种(The ODBC NET Data Provider) 表 是三种数据提供者及其支持的数据库:
项目 I II III 数据提供者(Data Provider) The SQL Server NET Data Provider The OLE DB NET Data Provider The ODBC NET Data Provider 支持的数据库 仅支持SQL Server 或更高版本 Access Oracle和Sql Server等 Access Oracle Sql Server MySql VFP等 表 三种数据提供者及其支持的数据库三 接下来就分别介绍以上几种数据提供者连接各种数据库
用The SQL Server NET Data Provider连接数据库
The SQL Server NET Data Provider是利用SqlConnection类来连接SQL Server 或更高版本的数据库
SqlConnection类位于名称空间System Data SqlClient下
连接代码
Dim sqlConnection As SqlClient SqlConnection Dim strConnect As String= data source=服务器名initial catalog=数据库名user id=sapassword=
sqlConnection =New System Data SqlClient SqlConnection(strConnect)
sqlConnection open 打开数据库
sqlConnection close 关闭连接 释放资源
用The OLE DB NET Data Provider连接数据库
上面已经说过 利用The OLE DB NET Data Provider可以访问Access Oracle和SQL Server等种数据库 那么 它是怎样访问这些数据库的呢?The OLE DB NET Data Provider是通过位于名称空间System Data OleDb类库下的OleDbConnection类来连接这三种不同类型的数据库的 下面举例说明:
)连接SQL Server数据库
Dim oleDbConnection As OleDb OleDbConnection
Dim strConnect As Sting= Provider=SQLOLEDBPersist Security Info=FalseData Source=服务器名Initial Catalog=数据库名User ID=saPassword=
oleDbConnection =New System Data OleDb OleDbConnection(strConnect)
)连接Access数据库
假设要连接的Access数据库名为 Example mdb 存放在d:\Data\目录下
Dim oleDbConnection As OleDb OleDbConnection
Dim strConnect As Sting= Provider=Microsoft Jet OLEDB Data Source=d:\Data\ Example mdb
oleDbConnection = New System Data OleDb OleDbConnection(strConnect)
)连接Oracle数据库
Dim oleDbConnection As OleDb OleDbConnection
Dim strConnect As Sting= Provider=MSDAORAData Source=服务器名User ID=用户IDPassword=密码
oleDbConnection = New System Data OleDb OleDbConnection(strConnect)
用The ODBC NET Data Provider连接数据库
The ODBC NET Data Provider连接数据库是通过OdbcConnection类来实现的 这个类位于名称空间Microsoft Data Odbc下 而名称空间Microsoft Data Odbc是封装在Microsoft Data Odbc dll文件下的
由于篇幅有限 这里就只介绍连接Sql Server和Oracle数据库的方法 其他数据库的连接方法基本类似 我就不再多讲了
)连接Sql Server数据库
Dim odbcDbConnetion As Microsoft Data OdbcConnection
Dim strConnect As Sting= Driver={SQL Server}Server=服务器名Uid=sapwd=Database= 数据库名
odbcDbConnetion =New Microsoft Data OdbcConnection(strConnect)
)连接Oracle数据库
Dim odbcDbConnetion As Microsoft Data OdbcConnection
Dim strConnect As Sting= Driver={Microsoft ODBC for Oracle}Server=服务器名Uid=sapwd=
odbcDbConnetion =New Microsoft Data OdbcConnection(strConnect)
四 总结
lishixinzhi/Article/program/net/201311/14654
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)