用VB连SQL SERVER 2000时,想用一控件实现adodc1用SQL插入和删除,总是提示:对象关闭时,不允许操作,不懂怎么回事
做实验的程序,就一个command,text1,text2,和adodc1,datagrid
原代码如下:Private Sub Command1_Click()
Adodc1.RecordSource = "insert into depart values('" & Text1.Text & "','" & Text2.Text & "')"
Adodc1.Refresh
End Sub

解决方案 »

  1.   

    你之前有没执行过Adodc1.close?
    close了以后究不能再使用了
      

  2.   

    考虑一下,是不是sql server服务没有启动呢?
      

  3.   

    Adodc1.RecordSource = "insert into depart values('" & Text1.Text & "','" & Text2.Text & "')"
    这句本身就是错的,RecordSource是数据源,Insert是操作数据的动作,没有返回数据的,这要数据源就不存在
    Adodc1.Refresh
    数据源都不存在,还刷新,当然会出问题啦
      

  4.   

    程序压根不是这样写的。dim cn as new adodb.connection
    cn.connectionstring="driver={sql server};server=(local);uid=sa;pwd=??;database=??"
    cn.open
    cn.execute("insert into table (fields) values(values)
    cn.close打完收工46558080
      

  5.   

    对象没有打开或者执行了Adodc1.close
      

  6.   

    whachun(jakly) ( ) 信誉:100    Blog  2007-3-26 22:50:28  
    -------------------------------
    说的很好!
     
      

  7.   

    打开之前先判断下rs的状态;
    rs.state=adStateClosed  '指示对象是关闭的。
    rs.state=adStateOpen    '指示对象是打开的。 
    然后再采取相应的操作,这是一种习惯!!
      

  8.   


    程序压根不是这样写的。dim cn as new adodb.connection
    cn.connectionstring="driver={sql server};server=(local);uid=sa;pwd=??;database=??"
    cn.open
    cn.execute("insert into table (fields) values(values)
    cn.close打完收工46558080
    -------------------------------------------------------------------------------
    dim rs as adodb.rscordset
    dim dataling as string
    dim string as string
    dataling="driver={sql server};server=(local);uid=sa;pwd=??;database=??"
    string="select * from 表名 "
    rs.open string ,dataling 
    while not rs.eof
     rs.movenext
    rs.(" 字段名")=text1.text
    rs.("字段名")=text2.text
    wend 
    rs.close
      

  9.   

    Adodc1.RecordSource = "insert into depart values('" & Text1.Text & "','" & Text2.Text & "')"
    这句本身就是错的,RecordSource是数据源,Insert是操作数据的动作,没有返回数据的,这要数据源就不存在
    Adodc1.Refresh
    数据源都不存在,还刷新,当然会出问题啦
    ——————————————————————————————————————
    说的很对,这是原因。下面是解决结果:
    ——————————————————————————————————————
    dim rs as adodb.rscordset
    dim dataling as string
    dim string as string
    dataling="driver={sql server};server=(local);uid=sa;pwd=??;database=??"
    string="select * from 表名 "
    rs.open string ,dataling 
    while not rs.eof
     rs.movenext
    rs.(" 字段名")=text1.text
    rs.("字段名")=text2.text
    wend 
    rs.close
    ——————————————————————————————————————
    抄袭了哈
    主要是代码完全能解决问题
      

  10.   

    adodc控件  远程连接没用的    用ADO
      

  11.   

    ADODB.Connection 错误 '800a0e78' 对象关闭时,不允许操作。 /news/show.asp,行 43 
      

  12.   

    adodc1,datagrid 要先绑定数据源