读书人

您的参与将给小弟我莫大的鼓励!基础中

发布时间: 2012-06-20 20:37:21 作者: rapoo

您的参与将给我莫大的鼓励!!!!基础中的基础
Dim cnn As New Connection
Dim rst As New Recordset

Private Sub Command2_Click()
cnn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = " + App.Path + "\蜗牛数据库.mdb"
cnn.Open
Call 添加

rst.CursorLocation = adUseClient
rst.Open "select * from 职工信息表", cnn
Set DataGrid2.DataSource = rst
End Sub


Sub 添加()
sql = "select * from 职工信息表"
rst.Open sql, cnn, adOpenKeyset, adLockOptimistic
If Not rst.EOF Then
rst.AddNew
rst("姓名") = Text1.Text
rst.Update
End If
rst.Close
End Sub
新添加的记录能在datagrid中显示,但为什么在此添加时却出现如下错误!

实时错误'3705':
对象打开时,不允许操作。
调试时,提示错误如下:cnn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = " + App.Path + "\db.mdb"

请路过者,留下您的足迹!!不胜感激,急求!!!

[解决办法]
数据库你已经打开了,就不用再打开一次了,所以就会出现这个错误。
要不你就在执行完毕后加上一句
cnn.close
[解决办法]
if cnn.state<>adstateclosed then cnn.close
cnn.Open

[解决办法]
cnn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = " + App.Path + "\蜗牛数据库.mdb"
cnn.Open

既然使用全局变量cnn,则将上述两句移到form_load中

读书人网 >VB

热点推荐