ado和Dao的区别 请问ado和Dao的区别我感到数据库的使用很混乱能否将每种使用方法多说一次呢包括access 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ado不是为access设计的,用于access会效率低,但ado适用范围更广,可用于SQLServer,用dao访问access比较快 VB6.0中数据库访问方法毕业设计系列讲稿一 2003.2.23一 数据控件方法⒈ 使用DAO数据控件主要用于访问本地数据库,也可以访问远程数据库。① 启动VB6后,在缺省Form上添加Data控件,Name属性为Data1,并设置如下: 使用Access数据库时Data1.Connect=”Access”Data1.DatabaseName=”C:\Access\student.mdb”(指向数据库路径,可通过浏览获取)Data1.RecordSource=”学生自然情况”(表名,可从下拉列表中选择) 使用SQL Server数据库时Data1.Connect=”ODBC;DSN=MSSQL;DATABASE=student;UID=sa;PWD=key”(MSSQL为ODBC数据源名,student为数据库名,sa为SQL Server用户名,key为SQL Server用户密码)Data1.DatabaseName=”MSSQL”Data1.RecordSource=”dbo. 学生自然情况”(表名)② 右击工具箱,选择快捷菜单components(部件),找到Microsoft Data Bound Drid Control 5.0 (sp3),选中复选框,点击确定,在工具箱中增加DBGrid控件。把控件DBGrid添加到Form上,Name属性为DBGrid1,并设置如下属性:DBGrid1.DataSource=”Data1”(可从下拉列表中选择)② 点击工具条的►、或菜单\Run\Start、或按F5键运行。⒉ 使用RDO数据控件主要用于访问远程数据库,下面以SQL Server为例。① 启动VB6.0后,出现缺省Form右击工具箱,选择快捷菜单components(部件),找到Microsoft Remotedata Control 6.0, 选中复选框,点击确定,在工具箱中增加MSRDC控件。右击工具箱,选择快捷菜单components(部件),找到Microsoft Data Bound Drid Control 5.0 (sp3),选中复选框,点击确定,在工具箱中增加DBGrid控件。② 添加MSRDC控件到Form上,其Name属性为MSRDC1。添加DBGrid控件到Form上,其Name属性为DBGrid1。③ 设置如下属性:MSRDC1.Connect=” UID=sa;PWD=key;DATABASE=student”MSRDC1.DataSourceName=”MSSQL”MSRDC1.SQL=”select * from学生自然情况”DBGrid1.DataSource=”MSRDC1”④ 点击工具条的►、或菜单\Run\Start、或按F5键运行⒊ 使用ADO数据控件综合了DAO控件和RDO控件,可以访问本地数据库,也可以访问远程数据库① 启动VB6.0后,出现缺省Form右击工具箱,选择快捷菜单components(部件),找到Microsoft ADO Data Control 6.0(OLEDB), 选中复选框,点击确定,在工具箱中增加Adodc控件。右击工具箱,选择快捷菜单components(部件),找到Microsoft DataGrid Control 6.0(OLEDB), 选中复选框,点击确定,在工具箱中增加DataGrid控件。② 加Adodc控件到Form上,其Name属性为Adodc1,右击Form上的Adodc控件,选择快捷菜单ADODC Properties出现属性窗口。在General页中点击Build按钮使用Access97时,选择Microsoft jet 3.51 OLE DB Provider使用Access2000时,选择Microsoft jet 4.0 OLE DB Provider使用SQL Server时,选择Microsoft OLE DB Provider for SQL Server 设当前数据库为Access97,点击“下一步”,进入连接页在“选择或输入数据库名称”处输入C:\Access97\student.mdb(可通过浏览找到)。通过下面的“测试连接”按钮进行测试。再进入RecordSource页,在Command Type中选择2-adCmdTable,在Table or Stored Procedure Name中输入表名“学生自然情况”(可从下拉列表框中选择)。点击“确定”退出。 设当前数据库为SQL Server,点击“下一步”,进入连接页,分别输入服务器名称(这里为Domain)、SQL Server用户名(sa)、SQL Server用户密码(key)。在“在服务器上选择数据库”处输入数据库名student(可从下拉列表框中选择),通过下面的“测试连接”按钮进行测试。点击“确定”进入RecordSource页,在Command Type中选择2-adCmdTable,在Table or Stored Procedure Name中选择表“学生自然情况”(可从下拉列表框中选择)。点击“确定”退出。③ 添加DataGrid控件到Form上,其Name属性为DataGrid1,并设置DataGrid1.DataSource=Adodc1。④ 点击工具条的►、或菜单\Run\Start、或按F5键运行。注:可以不用DBGrid或Data Grid控件,用Label和Text控件。设置Text.DataSource=Adodc1,Text.DataField=字段名。使用控件方法,可以不写代码,或少写代码,但程序不灵活,功能有限。二DAO方法(Data Access Object数据访问对象)DAO数据库引擎提供与数据库交往的机制,提供给用户访问数据库的一整套方法。可以访问本地数据库,如Access,也可以通过ODBC数据源访问远程数据库,如SQL Server。程序员需要编写大量代码完成程序设计,可以完成非常复杂的工作。⒈ 连接到本地数据库Access首先定义如下变量:Private dbStudent As DatabasePrivate StudentSet As Recordset在Form的Load事件中加入如下代码:Dim strDBName As StringstrDBName = "C:\ACCESS97\student"下面两条,用那一条都可以Set dbStudent = DBEngine.Workspaces(0).OpenDatabase(strDBName)Set dbStudent = DBEngine.OpenDatabase(strDBName, True, False, "")Set StudentSet = dbStudent.OpenRecordset("select * from学生自然情况", dbOpenDynaset, dbOptimistic)注:使用参数dbOpenDynaset允许使用select语句,参数dbOpenTable只能使用表名,不能用select语句。结果集StudentSet中包括了表“学生自然情况”的全部记录。结果集提供了很多对数据库进行操作的方法,如:用Text1.Text=StudentSet.Fields(“姓名”)把数据送往控件,显示在屏幕上。用StudentSet.Fields(“姓名”)= Text1.Text把控件数据送往结果集,再存入表中。用StudentSet.MoveFirst、StudentSet.MovePrevious、StudentSet.MoveNext、StudentSet.MoveLast移动记录指针。 ⒉ 连接到远程数据库SQL Server只改变下面一条,其余不动:Set dbStudent = DBEngine.OpenDatabase("MSSQL", True, False, "ODBC;DSN=MSSQL;DATABASE=jcl;UID=sa;PWD=key")⒊ 关闭数据库StudentSet.CloseSet StudentSet = NothingdbStudent.CloseSet dbStudent = Nothing三RDO方法(Remote Data Object远程数据对象)RDO适用于客户机/服务器型应用程序的开发。RDO与DAO相比较,它可以与服务器端数据库在更低级的层次上交往。下面介绍如何连接到SQL Server。作如下定义Private rsrdoEnv As rdoEnvironmentPrivate rsrdoconn As rdoConnectionPrivate rsrdoRS As rdoResultset在Form的Load事件中,加入如下代码:Set rsrdoEnv = rdoEnvironments(0)Set rsrdoconn = rsrdoEnv.OpenConnection("MSSQL", rdDriverNoPrompt, False, "ODBC;UID=sa;PWD=key")rsSql = "select * from学生自然情况"Set rsrdoRS = rsrdoconn.OpenResultset(rsSql, rdOpenKeyset, rdConcurRowVer, 0)四ADO方法(ActiveX Data Object)继开放式数据库连接ODBC(Open Database Connectivity Interface)接口之后,微软公司又推出了OLE DB(Object Linking and Embedding DataBase)。ADO使用OLE DB访问数据库,它综合了DAO和RDO的功能,特别适于Client/Server应用程序的开发。因为在VBVScript中可以使用ADO,因而它也非常适合于Web或数据库服务器端的集成。⒈ 连接到本地数据库Access97首先定义如下变量:Private cnn As New adodb.ConnectionPrivate rs As New adodb.Recordset在Form的Load事件中,加入如下代码:cnn.Provider = "Microsoft.Jet.OLEDB.3.51"cnn.ConnectionString = "c:\access97\student.mdb"cnn.OpenStrSql = "select * from 学生自然情况"rs.ActiveConnection = cnnrs.CursorType = adOpenKeysetrs.LockType = adLockOptimisticrs.Open StrSql上面五条可用下面一条代替rs.Open "学生自然情况", cnn, adOpenKeyset, adLockOptimistic注:连接到Access2000,用Microsoft.Jet.OLEDB.4.0⒉ 连接到远程数据库SQL Server首先定义如下变量:Private cnnStudent As New adodb.ConnectionPrivate mStudent As New adodb.Recordset在Form的Load事件中,加入如下代码:cnnStudent.Provider = "SQLOLEDB.1;User ID=sa;Password=key;Database=student"(注:连接字符串与安装时选择的参数有关。)cnn.Student.OpenmStudent.Open "学生自然情况", cnnStudent, adOpenKeyset, adLockOptimistic⒊ 关闭数据库mStudent.CloseSet mStudent = NothingcnnStudent.CloseSet cnnStudent = Nothing注:在project/References…加入DAO:Microsoft DAO 3.6 Object Library RDO:Microsoft Remote Data Object 2.0ADO:Microsoft Aictive Data Objects 2.5 Library VB数据类型转换,大家帮帮忙!!!! 嘎嘎,关于PID(包括服务也就是隐藏进程的PID)的获取,这里提出一种新的解决办法哈 BMP图像头文件? 我最近要学API和ADO,该看点什么样的书呀~~~ 为什么我的菜单不见了? 在VBA中设置循环连续播放多个ppt文件,在线等,马上揭帖 大家帮帮忙,关于创建数据库的问题? 急急急??? 有没有办法在插入数据后即时知道其在数据库中自动编号 那里有MODEM的语音开发例子? 字母大小写转换 vb代码注释器插件,VB代码维护的利器。提供详细的使用说明,此外还附送VB IDE滚轮插件(up者有分)
VB6.0中数据库访问方法
毕业设计系列讲稿一 2003.2.23
一 数据控件方法
⒈ 使用DAO数据控件
主要用于访问本地数据库,也可以访问远程数据库。
① 启动VB6后,在缺省Form上添加Data控件,Name属性为Data1,并设置如下:
 使用Access数据库时
Data1.Connect=”Access”
Data1.DatabaseName=”C:\Access\student.mdb”(指向数据库路径,可通过浏览获取)
Data1.RecordSource=”学生自然情况”(表名,可从下拉列表中选择)
 使用SQL Server数据库时
Data1.Connect=”ODBC;DSN=MSSQL;DATABASE=student;UID=sa;PWD=key”
(MSSQL为ODBC数据源名,student为数据库名,sa为SQL Server用户名,key为SQL Server用户密码)
Data1.DatabaseName=”MSSQL”
Data1.RecordSource=”dbo. 学生自然情况”(表名)
② 右击工具箱,选择快捷菜单components(部件),找到Microsoft Data Bound Drid Control 5.0 (sp3),选中复选框,点击确定,在工具箱中增加DBGrid控件。
把控件DBGrid添加到Form上,Name属性为DBGrid1,并设置如下属性:
DBGrid1.DataSource=”Data1”(可从下拉列表中选择)
② 点击工具条的►、或菜单\Run\Start、或按F5键运行。
⒉ 使用RDO数据控件
主要用于访问远程数据库,下面以SQL Server为例。
① 启动VB6.0后,出现缺省Form
右击工具箱,选择快捷菜单components(部件),找到Microsoft Remotedata Control 6.0, 选中复选框,点击确定,在工具箱中增加MSRDC控件。
右击工具箱,选择快捷菜单components(部件),找到Microsoft Data Bound Drid Control 5.0 (sp3),选中复选框,点击确定,在工具箱中增加DBGrid控件。
② 添加MSRDC控件到Form上,其Name属性为MSRDC1。添加DBGrid控件到Form上,其Name属性为DBGrid1。
③ 设置如下属性:
MSRDC1.Connect=” UID=sa;PWD=key;DATABASE=student”
MSRDC1.DataSourceName=”MSSQL”
MSRDC1.SQL=”select * from学生自然情况”
DBGrid1.DataSource=”MSRDC1”
④ 点击工具条的►、或菜单\Run\Start、或按F5键运行
⒊ 使用ADO数据控件
综合了DAO控件和RDO控件,可以访问本地数据库,也可以访问远程数据库
① 启动VB6.0后,出现缺省Form
右击工具箱,选择快捷菜单components(部件),找到Microsoft ADO Data Control 6.0(OLEDB), 选中复选框,点击确定,在工具箱中增加Adodc控件。
右击工具箱,选择快捷菜单components(部件),找到Microsoft DataGrid Control 6.0(OLEDB), 选中复选框,点击确定,在工具箱中增加DataGrid控件。
② 加Adodc控件到Form上,其Name属性为Adodc1,右击Form上的Adodc控件,选择快捷菜单ADODC Properties出现属性窗口。
在General页中点击Build按钮
使用Access97时,选择Microsoft jet 3.51 OLE DB Provider
使用Access2000时,选择Microsoft jet 4.0 OLE DB Provider
使用SQL Server时,选择Microsoft OLE DB Provider for SQL Server
 设当前数据库为Access97,点击“下一步”,进入连接页
在“选择或输入数据库名称”处输入C:\Access97\student.mdb(可通过浏览找到)。通过下面的“测试连接”按钮进行测试。
再进入RecordSource页,在Command Type中选择2-adCmdTable,在Table or Stored Procedure Name中输入表名“学生自然情况”(可从下拉列表框中选择)。
点击“确定”退出。
 设当前数据库为SQL Server,点击“下一步”,进入连接页,分别输入服务器名称(这里为Domain)、SQL Server用户名(sa)、SQL Server用户密码(key)。
在“在服务器上选择数据库”处输入数据库名student(可从下拉列表框中选择),通过下面的“测试连接”按钮进行测试。
点击“确定”进入RecordSource页,在Command Type中选择2-adCmdTable,在Table or Stored Procedure Name中选择表“学生自然情况”(可从下拉列表框中选择)。
点击“确定”退出。
③ 添加DataGrid控件到Form上,其Name属性为DataGrid1,并设置
DataGrid1.DataSource=Adodc1。
④ 点击工具条的►、或菜单\Run\Start、或按F5键运行。
注:可以不用DBGrid或Data Grid控件,用Label和Text控件。设置Text.DataSource=Adodc1,Text.DataField=字段名。
使用控件方法,可以不写代码,或少写代码,但程序不灵活,功能有限。
二DAO方法(Data Access Object数据访问对象)
DAO数据库引擎提供与数据库交往的机制,提供给用户访问数据库的一整套方法。可以访问本地数据库,如Access,也可以通过ODBC数据源访问远程数据库,如SQL Server。
程序员需要编写大量代码完成程序设计,可以完成非常复杂的工作。
⒈ 连接到本地数据库Access
首先定义如下变量:
Private dbStudent As Database
Private StudentSet As Recordset
在Form的Load事件中加入如下代码:
Dim strDBName As String
strDBName = "C:\ACCESS97\student"
下面两条,用那一条都可以
Set dbStudent = DBEngine.Workspaces(0).OpenDatabase(strDBName)
Set dbStudent = DBEngine.OpenDatabase(strDBName, True, False, "")
Set StudentSet = dbStudent.OpenRecordset("select * from学生自然情况",
dbOpenDynaset, dbOptimistic)
注:使用参数dbOpenDynaset允许使用select语句,参数dbOpenTable只能使用表名,不能用select语句。
结果集StudentSet中包括了表“学生自然情况”的全部记录。
结果集提供了很多对数据库进行操作的方法,如:
用Text1.Text=StudentSet.Fields(“姓名”)把数据送往控件,显示在屏幕上。
用StudentSet.Fields(“姓名”)= Text1.Text把控件数据送往结果集,再存入表中。
用StudentSet.MoveFirst、StudentSet.MovePrevious、StudentSet.MoveNext、StudentSet.MoveLast移动记录指针。
⒉ 连接到远程数据库SQL Server
只改变下面一条,其余不动:
Set dbStudent = DBEngine.OpenDatabase("MSSQL", True, False,
"ODBC;DSN=MSSQL;DATABASE=jcl;UID=sa;PWD=key")
⒊ 关闭数据库
StudentSet.Close
Set StudentSet = Nothing
dbStudent.Close
Set dbStudent = Nothing
三RDO方法(Remote Data Object远程数据对象)
RDO适用于客户机/服务器型应用程序的开发。RDO与DAO相比较,它可以与服务器端数据库在更低级的层次上交往。下面介绍如何连接到SQL Server。
作如下定义
Private rsrdoEnv As rdoEnvironment
Private rsrdoconn As rdoConnection
Private rsrdoRS As rdoResultset
在Form的Load事件中,加入如下代码:
Set rsrdoEnv = rdoEnvironments(0)
Set rsrdoconn = rsrdoEnv.OpenConnection("MSSQL", rdDriverNoPrompt, False,
"ODBC;UID=sa;PWD=key")
rsSql = "select * from学生自然情况"
Set rsrdoRS = rsrdoconn.OpenResultset(rsSql, rdOpenKeyset, rdConcurRowVer, 0)
四ADO方法(ActiveX Data Object)
继开放式数据库连接ODBC(Open Database Connectivity Interface)接口之后,微软公司又推出了OLE DB(Object Linking and Embedding DataBase)。ADO使用OLE DB访问数据库,它综合了DAO和RDO的功能,特别适于Client/Server应用程序的开发。因为在VBVScript中可以使用ADO,因而它也非常适合于Web或数据库服务器端的集成。
⒈ 连接到本地数据库Access97
首先定义如下变量:
Private cnn As New adodb.Connection
Private rs As New adodb.Recordset
在Form的Load事件中,加入如下代码:
cnn.Provider = "Microsoft.Jet.OLEDB.3.51"
cnn.ConnectionString = "c:\access97\student.mdb"
cnn.Open
StrSql = "select * from 学生自然情况"
rs.ActiveConnection = cnn
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open StrSql
上面五条可用下面一条代替
rs.Open "学生自然情况", cnn, adOpenKeyset, adLockOptimistic
注:连接到Access2000,用Microsoft.Jet.OLEDB.4.0
⒉ 连接到远程数据库SQL Server
首先定义如下变量:
Private cnnStudent As New adodb.Connection
Private mStudent As New adodb.Recordset
在Form的Load事件中,加入如下代码:
cnnStudent.Provider = "SQLOLEDB.1;User ID=sa;Password=key;Database=student"
(注:连接字符串与安装时选择的参数有关。)
cnn.Student.Open
mStudent.Open "学生自然情况", cnnStudent, adOpenKeyset, adLockOptimistic
⒊ 关闭数据库
mStudent.Close
Set mStudent = Nothing
cnnStudent.Close
Set cnnStudent = Nothing
注:在project/References…加入
DAO:Microsoft DAO 3.6 Object Library
RDO:Microsoft Remote Data Object 2.0
ADO:Microsoft Aictive Data Objects 2.5 Library