首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2012-06-20 
您的参与将给我莫大的鼓励!!!!基础中的基础Dim cnn As New ConnectionDim rst As New RecordsetPrivate Su

您的参与将给我莫大的鼓励!!!!基础中的基础
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中

热点排行