奇怪奇怪,我怎么连不上ACCESS2000,DataGrid控件数据不能出现,也没报错!我也有引用ADO2.5。我把mdb转换为access97,数据却能显现。 呈上源码。后来我又生成另外一个程序,用ADODC控件连接却能连上access2000,控件生成的字符串也和下面的相同。请问这是什么原因 Private Sub Form_Load() Dim Cnn As New ADODB.Connection Dim Tbl As New ADODB.Recordset Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\db2.mdb;Persist Security Info=False" With Tbl .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open "user", Cnn, , , adCmdTable End With Set DataGrid1.DataSource = Tbl End Sub 还有我有另外一个问题是当 我声明ADO的connection,recordset时。没在前面加new字,提示变量或with块变量没设置。请问这是什么回事!
奇怪奇怪,我怎么连不上ACCESS2000,DataGrid控件数据不能出现,也没报错!我也有引用ADO2.5。我把mdb转换为access97,数据却能显现。
呈上源码。后来我又生成另外一个程序,用ADODC控件连接却能连上access2000,控件生成的字符串也和下面的相同。请问这是什么原因
Private Sub Form_Load()
Dim Cnn As New ADODB.Connection
Dim Tbl As New ADODB.Recordset
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\db2.mdb;Persist Security Info=False"
With Tbl
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "user", Cnn, , , adCmdTable
End With
Set DataGrid1.DataSource = Tbl
End Sub
还有我有另外一个问题是当
我声明ADO的connection,recordset时。没在前面加new字,提示变量或with块变量没设置。请问这是什么回事!
其中“USER”应该是SQL语句。
NO.2
如不加NEW 就要在来一句:SET TBL=NEW ADODB.RECORDSET ---》实例化
具体是这样的:
打开一个数据库要做如下工作(调用打开数据库需要的对象)
Dim Cnn As New ADODB.Connection
等价于 Dim Cnn As ADODB.Connection
SET CNN =NEW ADODB.CONNECTION ---》实例化CONNECTION
举个例子,把Cnn 比做是水管,Dim Cnn As ADODB.Connection 就好比是有买水管的打算,而
SET CNN =NEW ADODB.CONNECTION 才是把水管买回来,才有以后的
接水管:Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\db2.mdb;Persist Security Info=False"
打开水龙头:With Tbl
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "user", Cnn, , , adCmdTable
End With
明白吗?