vb代码对象关闭
帮忙看看这段代码,学着弄得,早另一个程序里面可以运行,换一个为什么一直在RST.Update处报错,对象关闭不允许操作??PrivateSubCommand2_Click...
帮忙看看这段代码,学着弄得,早另一个程序里面可以运行,换一个为什么一直在 RST.Update处报错,对象关闭不允许操作??
Private Sub Command2_Click() '修改记录
If MsgBox("确定要修改吗?", vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then
If Text1.Text = "" Or Text2.Text = "" Or Combo1.Text = "" Then
MsgBox "不能为空!", vbInformation, "提示"
Exit Sub '为空则退出
End If
Call SJK(CNN)
strSQL = "update userinfo set user='" & Text1.Text & "'and password='" & Text2.Text & "'and qx='" & Combo1.Text & "'where user='" & ary(0) & "'and password='" & ary(1) & "'and qx='" & ary(2) & "'"
RST.Open strSQL, CNN, 1, 3
Set RST = Nothing
RST.Update
RST.Close
CNN.Close
Call 全部显示数据
End If
End Sub
adodb连接 access 的,或者看看能不能换别的写法?实现修改功能 展开
Private Sub Command2_Click() '修改记录
If MsgBox("确定要修改吗?", vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then
If Text1.Text = "" Or Text2.Text = "" Or Combo1.Text = "" Then
MsgBox "不能为空!", vbInformation, "提示"
Exit Sub '为空则退出
End If
Call SJK(CNN)
strSQL = "update userinfo set user='" & Text1.Text & "'and password='" & Text2.Text & "'and qx='" & Combo1.Text & "'where user='" & ary(0) & "'and password='" & ary(1) & "'and qx='" & ary(2) & "'"
RST.Open strSQL, CNN, 1, 3
Set RST = Nothing
RST.Update
RST.Close
CNN.Close
Call 全部显示数据
End If
End Sub
adodb连接 access 的,或者看看能不能换别的写法?实现修改功能 展开
8个回答
展开全部
要注意有些sql 语句不是用来返回记录集的,像update 串应该不返回什么,所以执行update方法就会模轮老出错,因为RST没打开任何桐吵记录集。
执行update串后已经对数据库更新了,不必再多此一举执行Update方法了。
所以执行一些不是查询记录集的操作直接用连接旦升对象的Excute方法更直接。
另外下面几位说,close 要在set nothing 之前。
执行update串后已经对数据库更新了,不必再多此一举执行Update方法了。
所以执行一些不是查询记录集的操作直接用连接旦升对象的Excute方法更直接。
另外下面几位说,close 要在set nothing 之前。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command2_Click() '修改记录
If MsgBox("确定要修改吗并高?", vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then
If Text1.Text = "" Or Text2.Text = "" Or Combo1.Text = "" Then
MsgBox "绝橘尺不能为空!", vbInformation, "提示"
Exit Sub '为空伍竖则退出
End If
Call SJK(CNN)
strSQL = "update userinfo set user='" & Text1.Text & "'and password='" & Text2.Text & "'and qx='" & Combo1.Text & "'where user='" & ary(0) & "'and password='" & ary(1) & "'and qx='" & ary(2) & "'"
'RST.Open strSQL, CNN, 1, 3
CNN.execute strsql ''即可。
CNN.Close
Call 全部显示数据
End If
End Sub
If MsgBox("确定要修改吗并高?", vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then
If Text1.Text = "" Or Text2.Text = "" Or Combo1.Text = "" Then
MsgBox "绝橘尺不能为空!", vbInformation, "提示"
Exit Sub '为空伍竖则退出
End If
Call SJK(CNN)
strSQL = "update userinfo set user='" & Text1.Text & "'and password='" & Text2.Text & "'and qx='" & Combo1.Text & "'where user='" & ary(0) & "'and password='" & ary(1) & "'and qx='" & ary(2) & "'"
'RST.Open strSQL, CNN, 1, 3
CNN.execute strsql ''即可。
CNN.Close
Call 全部显示数据
End If
End Sub
追问
按你说的做的,修改的数据存不进去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
RST.Open strSQL, CNN, 1, 3 '这里你打开了RST记录集对象
Set RST = Nothing '这里你又从内存清除了RST记录集对象含毁
RST.Update '这里更新记录集肯定出错
RST.Close
CNN.Close
修改如下:
RST.Open strSQL, CNN, 1, 3
RST.Update
RST.Close
Set RST = Nothing '在操作完冲陵成后才能从内存清除记录集对散老戚象!!!!
CNN.Close
Set RST = Nothing '这里你又从内存清除了RST记录集对象含毁
RST.Update '这里更新记录集肯定出错
RST.Close
CNN.Close
修改如下:
RST.Open strSQL, CNN, 1, 3
RST.Update
RST.Close
Set RST = Nothing '在操作完冲陵成后才能从内存清除记录集对散老戚象!!!!
CNN.Close
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
RST.CLOSE
Set RST = Nothing
CNN.CLOSE
SET CNN=Nothing
这是正确的写法,先关闭培帆,再释放,而且要放到最后面
不过你这个直配空雹接用SQL语句来更新的话就没必要用到RST
直接亏樱
CNN.Execute strSql
CNN.CLOSE
SET CNN=Nothing
就可以了
Set RST = Nothing
CNN.CLOSE
SET CNN=Nothing
这是正确的写法,先关闭培帆,再释放,而且要放到最后面
不过你这个直配空雹接用SQL语句来更新的话就没必要用到RST
直接亏樱
CNN.Execute strSql
CNN.CLOSE
SET CNN=Nothing
就可以了
追问
修改完值变成-1了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询