data控件的数据库连接

moonlight007 2003-08-21 12:11:57
使用DATA控制怎样连接ACCESS数据库呀,我定义了DB AS DATA变量,使用DB.DATABASENAME属性就报错,说是控件变量没有引用,要怎样引用呀.最好能给我完整的数据库连接代码
...全文
51 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
jf811029 2003-08-22
  • 打赏
  • 举报
回复
还是用ADO吧,毕竟ADO比DAO的功能强大不少.
moonlight007 2003-08-22
  • 打赏
  • 举报
回复
知道了ADO控件我也较熟一些

但我就搞不懂这个data1从哪里冒出来.楼上说设置databasename这些属性我也设置过
报错: 实时错误"424"
要求对象
dengyiwolf 2003-08-22
  • 打赏
  • 举报
回复
设置一下DATABASENAME的属性:
datasource属性
recordsource属性
还是用ADO控件吧 这个控件的功能也较强大的。
moonlight007 2003-08-22
  • 打赏
  • 举报
回复
好了修改了引用recordset类型定义不会出错了

可是在set data1.recordset=rs的时候报错误: 要求对象

这是什么问题呢, data1的变量类型应怎样定义呢???????/
qingming81 2003-08-22
  • 打赏
  • 举报
回复
有些引用是默认的,默认的引用一般不要修改。没有优先级吧!
moonlight007 2003-08-22
  • 打赏
  • 举报
回复
引用里哪些是应当先的, 哪些的优先级高呢.........
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复

to moonlight007(离人影) :

引用DAO


工程--->引用--->Microsoft Dao 3.6 Object library

dim db As Database
dim rs As Recordset

moonlight007 2003-08-22
  • 打赏
  • 举报
回复
知道如何引用了, 但以上问题并没有得到解决
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复


to moonlight007(离人影) :

引用DAO


工程--->引用--->Microsoft Dao 3.6 Object library

dim db As Database
dim rs As Recordset
seehill 2003-08-22
  • 打赏
  • 举报
回复
如果定义rs变量类型为recordset时,运行出错:数据类型不匹配,
这个问题以前我也遇到过,工程--->引用里要选择适当,用到的要选全.用不到的不要选上,或者调整一下优先级.
seehill 2003-08-22
  • 打赏
  • 举报
回复
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
moonlight007 2003-08-22
  • 打赏
  • 举报
回复
知道了

但是我要弄明白DAO的连接.....

怎样引用DAO, 如果定义rs变量类型为recordset时,运行出错:数据类型不匹配.定义为object类型时可以通过.

我打了SP5的补丁,可还是不能连接ACCESS2000,为什么.
hxy2003 2003-08-22
  • 打赏
  • 举报
回复
用ADO 比较好,
hzybc 2003-08-22
  • 打赏
  • 举报
回复
Public db As Database
Public rs As Recordset

Set db = OpenDatabase(App.Path & "\txl.mdb")
Set rs = db.OpenRecordset("select * from table" )
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复
建议用Ado吧,也是微软推荐的方式

工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)

Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset

CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
CN.Open

Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic
msgbox Rs.Recordcount
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复
引用 DAO 3.6

没有 data1控件
lihonggen0 2003-08-21
  • 打赏
  • 举报
回复

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconIntrnscDataCtrlAndAccess2000.asp
道素 2003-08-21
  • 打赏
  • 举报
回复
如果你非要用dao可以看这个例子(来源:msdn)
Option Explicit
Private daoDB36 As Database
Private rs As Recordset
Dim sPath As String

Private Sub Form_Load()
sPath = _
"C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
Set daoDB36 = DBEngine.OpenDatabase(sPath)
Set rs = daoDB36.OpenRecordset("Customers")
Set Data1.Recordset = rs
End Sub


另外,建议使用ado,如果不喜欢直接用ado对象,可以使用adodc控件
lihonggen0 2003-08-21
  • 打赏
  • 举报
回复
建议用ado连接


工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)

Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset

CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
CN.Open

Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic

Set DataGrid1.DataSource = Rs
lihonggen0 2003-08-21
  • 打赏
  • 举报
回复
data控件是属于dao的范畴

如果没装vbsp5,data控件只能连接access97,不支持access 2000

解决办法:
办法一:建议你安装VBSP5

办法二:你可以把数据库转化为ACCESS97

办法三:用ADODC控件连接ACCESS2000数据库

办法四:用ADO连接字符串连接数据库
加载更多回复(1)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧