注册 登录
编程论坛 VB6论坛

求高书指点一二,感激不尽!实时错误3706!

ronaldo99999 发布于 2013-05-04 21:23, 1165 次点击
Private Sub Command1_Click()
Dim Conn As New ADODB.Connection
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:\Users\Administrator\Desktop\毕业设计\用户信息.mdb;Persist Security Info=False"
Conn.Open
Dim ask As Integer
Select Case Index
Case 0
   Adodc1.Recordset.AddNew
Case 1
   ask = MsgBox("删除否?", vbYesNo)
   If ask = 4 Then
   Adodc1.Recordset.Delete
   Adodc1.Recordset.MoveNext
   If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast
   End If
Case 2
 Adodc1.Recordset.Update
Case 3
  Adodc1.Recordset.CancelUpdate
Case 4
  End
End Select
End Sub
10 回复
#2
风吹过b2013-05-05 09:35
Conn 与 Adodc1 有什么联系???
实时错误时停在那一行???
----------------
如果你是 临时打开数据库连接的话,你代码里没有关联 数据库连接与 表来。
如果是 前期绑定的 adodc1 ,那么你数据连接有什么用?

一般一个程序里只建议使用一种的数据连接。
如果使用代码方式操作 ADODB 那么就不建议再 放 ADODC 控件了。
------------
Select Case Index
这个变量是从哪里来的???
如果是按钮控件数组,那么 Private Sub Command1_Click()  这里又错了。
Private Sub Command1_Click(Index as integer)
------------

有问题,应该说明问题代码及关联代码,在那一行报错。
光看静态代码,很多时候很难说出问题究竟出在哪里,都要动态测试才知道。
#3
ronaldo999992013-05-05 12:10
回复 2楼 风吹过b
谢谢!错误在第四行,Conn.Open
如果使用代码方式操作 ADODB 那么就不建议再 放 ADODC 控件了,那我用下面这个
Private Sub Command1_Click()
Dim Conn As New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\用户信息.mdb"
cn.Execute "insert into 用户信息(姓名, 单元号, 门牌号, 家庭电话, 手机) values ('" & Text1.Text & " ','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"
cn.Close
MsgBox "保存完毕!"
End Sub
(蓝色错误)实时错误424,要求对象!
谢谢!

#4
lowxiong2013-05-05 12:14
你没有定义cn,当然没有这个对象了,把conn改为cn应该没问题了。
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\用户信息.mdb"
cn.Execute "insert into 用户信息(姓名, 单元号, 门牌号, 家庭电话, 手机) values ('" & Text1.Text & " ','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"
cn.Close
MsgBox "保存完毕!"
End Sub
#5
ronaldo999992013-05-05 12:23
回复 4楼 lowxiong
谢谢!还是不对!
#6
Artless2013-05-06 13:30
以下是引用ronaldo99999在2013-5-5 12:23:08的发言:

谢谢!还是不对!
怎样不对?
#7
ronaldo999992013-05-06 15:17
回复 6楼 Artless
我换了一种方法,添加成功了,可是添加到数据表了,在MSFlexGrid中不显示是怎么回事?
#8
风吹过b2013-05-06 15:36
在MSFlexGrid中不显示是怎么回事?

你 MSFlexGrid 在添加了数据后,手动刷新了吗?
#9
ronaldo999992013-05-06 15:48
回复 8楼 风吹过b
我是使用的data控件的,你说的怎么手动刷新?谢谢!

Private Sub Command1_Click()
Dim db As Database  '数据库
Dim rs As Recordset  '记录集,数据表
s = App.Path + "\用户信息.mdb"
Set db = DBEngine.Workspaces(0).OpenDatabase(s) '打开库
Set rs = db.OpenRecordset("select * from 用户信息", dbOpenDynaset)       '打开表,或一个记录集
rs.AddNew
rs!姓名 = Text1.Text
rs!单元号 = Text2.Text
rs!门牌号 = Text3.Text
rs!家庭电话 = Text4.Text
rs!手机 = Text5.Text
rs.Update
Data1.Refresh
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub

[ 本帖最后由 ronaldo99999 于 2013-5-6 15:53 编辑 ]
#10
风吹过b2013-05-06 16:06
Data1.Refresh
这是数据源刷新

刚百度了一下,不是 刷新的问题,是延迟的问题。

http://zhidao.baidu.com/question/464849917.html
#11
ronaldo999992013-05-06 16:55
回复 10楼 风吹过b
非常感谢你!我犯了一个低级错误,没有连接data!现在好了!


1