请教个问题,datagrid已经跟sql连接成功,在insert的时候是不是不需要写open语句,直接execute,例如Dim cn As New ADODB.Connectioncn.Execute ("insert into practice_users(Name,QQ,Email,phone,lable)values('text2.text','text1.text','text3.text','text4.text','combol1.text')")

解决方案 »

  1.   

    不需要写open语句,直接execute即可。
    strsql="insert into practice_users(Name,QQ,Email,phone,lable)values('" & trim(text2.text) & "','" & trim(text1.text) & "','" & trim(text3.text) & "','" & trim(text4.text) & "','" & trim(combol1.text) & "')"
    cn.execute strsql
      

  2.   

    1L补充说明:...Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordsetcn.open... 是需要的,cn无效的话 cn.Execute 无法运行。
    rs.open... Execute 时是不需要的。
      

  3.   

    你插入数据时可以不用OPEN不过你要把插入的数据显示在datagrid上
    你的rs必须重新查询(rs.Requery)。
      

  4.   

    对于四楼的回复,我不太懂,datagrid.datasource=重新查询后的结果集,是这个意思吗?
      

  5.   

    如果我用refresh方法是否也是可行的呢?
      

  6.   

    这个open应该是指连接对象的open吧。楼上好像有人误以为是RS的open了。
    连接对象(比如这里是cn),应该open然后才能用的。open之前是进行设定,open是进行实际的连接。然后是后续的数据库操作。