当前位置:编程学习 > VB >>

删除记录出错,高手帮忙看看 错误提示:运行时错误3704 对象关闭时,不允许操作

--------------------编程问答-------------------- 检查adoCon是打开的状态吗
 If adoCon.State <> ADODB.ObjectStateEnum.adStateOpen then adoCon.open --------------------编程问答--------------------
引用 1 楼 king06 的回复:
检查adoCon是打开的状态吗
If adoCon.State <> ADODB.ObjectStateEnum.adStateOpen then adoCon.open


Private Sub Imgdelete_Click()  '删除 
If adoCon.State <> ADODB.ObjectStateEnum.adStateOpen then adoCon.open
  If MsgBox("您确实要删除记录吗?", vbOKCancel, "车辆管理系统") = vbOK Then 
        adoCon.Execute ("delete from 车辆档案 where 车牌号码='" & Text1 & "'") 
        MsgBox " 记录已删除!", , "车辆管理系统" 
        Unload Me 
        Adodc1.Refresh 
        frmcarDAlr.Show 
    End If 
End Sub

我这个程序没有用到数据源的
在前面加上你给的代码后运行提示:
实时错误'-2147467259(80004005)'
[microsoft][ODBC启动程序管理器]为发现数据源名称并且未指定默认启动程序 --------------------编程问答-------------------- 那你这个adoCon是什么???
--------------------编程问答--------------------
引用 3 楼 king06 的回复:
那你这个adoCon是什么???


看错了,是用到了数据源 --------------------编程问答-------------------- 试试:

Private Sub Imgdelete_Click()  '删除 
  If MsgBox("您确实要删除记录吗?", vbOKCancel, "车辆管理系统") = vbOK Then 
        Adodc1.Recordset.ActiveConnection.Execute ("delete from 车辆档案 where 车牌号码='" & Text1 & "'") 
        MsgBox " 记录已删除!", , "车辆管理系统" 
        Unload Me 
        Adodc1.Refresh 
        frmcarDAlr.Show 
    End If 
End Sub --------------------编程问答-------------------- if Conn.State<>adStateOpen  then Conn.Open --------------------编程问答-------------------- 我以前也遇到这个问题。
要解决这个问题有两个步骤:
1。和数据库连接上了没有
2。数据库打开了没有。
如果跟数据库连接上了,但是没有打开,就会报上面的错误。 --------------------编程问答-------------------- 你这个adocon是什么类型的?
打开了没有?
你把断点放到这上面,然后检查adocon.connectionstring, adocon.state
adoCon.Execute ("delete from 车辆档案 where 车牌号码='" & Text1 & "'")  --------------------编程问答-------------------- Private Sub Imgdelete_Click()  '删除 
Dim Db As New ADODB.Connection

  If MsgBox("您确实要删除记录吗?", vbOKCancel, "车辆管理系统") = vbOK Then 
        Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
                        & App.Path & "\你的数据库名字.mdb;Persist Security Info=False
        Db.Execute "delete from 车辆档案 where 车牌号码='" & Text1 & "'"
        MsgBox " 记录已删除!", , "车辆管理系统" 
        Db.Close
   
        Unload Me 

        frmcarDAlr.Show 
    End If 
End Sub
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,