我用vb6.0做了小东西,涉及到数据库的插入问题,我是用ado控件来实现,
然后在代码中实现是这样写的:
t = "insert into Customer(CNum,CUser,CMes,CYuYue,CTel)  values (" & Text6.Text & ",'" & Text1.Text & "'," & Text2.Text & "," & Text7.Text & "," & Text5.Text & ") "
With Adodc1
     .RecordSource = t
     .refresh
End With
MsgBox "access", vbOKOnly, "access"SQL语句没有问题,而且插入数据库已经成功,但是最后还报了错误:说是“对象关闭时不允许操作”。然后我试着把“.refresh”删除,但是这样虽然不报错,插入也失败了!请问这是一个什么错误,应该怎么解决。
很急,请各位多帮忙!很快就要交了的,是一个作业!!!!!!

解决方案 »

  1.   

    打开一个数据库连接串Public CnnDB As New ADODB.Connection
    CnnDB.ConnectionString = 连接数据库串
    cnndb.open 
    CnnDB.Execute t(你的插入语句)这样数据就插入了记录
      

  2.   

    t = "insert into Customer(CNum,CUser,CMes,CYuYue,CTel)  values (" & Text6.Text & ",'" & Text1.Text & "'," & Text2.Text & "," & Text7.Text & "," & Text5.Text & ") "
    With Adodc1
         .recordset.open = t
         .refresh
    End With
    MsgBox "access", vbOKOnly, "access"
      

  3.   

    t = "insert into Customer(CNum,CUser,CMes,CYuYue,CTel)  values (" & Text6.Text & ",'" & Text1.Text & "'," & Text2.Text & "," & Text7.Text & "," & Text5.Text & ") "objConn.Execute t
      

  4.   

    怎么现在还有人用Adodc控件啊,我是看到它就烦
    因为我一直用的ado对象,所以Adodc从来没用过
      

  5.   

    楼上的,我也有同感,近来很多人问Adodc问题,看到真的烦。
      

  6.   

    建议改用ADO对象,然后用连接对象的EXECUTE方法来执行,一般有返回结果的SQL语句用记录集来执行,没有返回结果的用连接对象的EXECUTE方法来执行,如下:
    Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号)
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Combo1_Click()
        rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & txtName.Text & "'", cn, adOpenDynamic, adLockOptimistic
        If Not rs.EOF Then
            Label1.Caption = rs!ID
            Label2.Caption = rs!Memo
        End If
       
        rs.AddNew
        rs!ID = "编号"
        rs!Memo = "备注"
        rs.Update
        
        t = "insert into Customer(CNum,CUser,CMes,CYuYue,CTel)  values (" & Text6.Text & ",'" & Text1.Text & "'," & Text2.Text & "," & Text7.Text & "," & Text5.Text & ") "
        
        cn.Execute t
    End SubPrivate Sub Form_Load()
        cn.ConnectionString = "DSN=SCM_ACCESS;pwd=ORIENTSCM;uid=ADMIN"
        cn.Open
        '查询字符串可以上这里查
        'http://www.connectionstrings.com/
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub