不好意思,写错一个地方,sleep 2000不是sleep 200

解决方案 »

  1.   

    在rs.open之前把Connection关闭后重新打开。
    或是cnn.BeginTrans
    ...
    cnn.CommitTrans
    rst.open我想是因为数据还在缓冲区,没写入磁盘。
      

  2.   

    使用同一个Adodb.Connect对象,你的问题应该是可以解决的
    你上面用的是QueryConnectionString字符吧?建议改为如下形式Dim MyConnect As ADODB.ConnectionPrivate Sub Form_Load()
      Set MyConnect = New ADODB.Connection
      MyConnect.CursorLocation = adUseClient
      '赋你的连接字符串给MyConnect对象
      MyConnect.ConnectionString = QueryConnectionString
      MyConnect.Open
      
    End SubPrivate Sub Command1_Click()
        Dim cmd As New ADODB.Command
        Dim rs As New ADODB.Recordset
        
        
        cmd.ActiveConnection = MyConnect
        cmd.CommandType = adCmdText
        cmd.CommandText = "UPDATE user SET username='testb' WHERE ID=12"
        cmd.Execute
        
        rs.Open "user", MyConnect, adOpenStatic, adLockReadOnly
        rs.Filter = "ID=12"
        MsgBox rs.Fields("username")
        rs.Close
    End Sub
      

  3.   

    用同一个Connection对象是能解决这个问题。
    但是比如我是用dataenvrinment或者adodc连接来绑定数据就有问题了。到底这个问题的根源事?
      

  4.   

    不是的,我是这样做的,先用DataEnvironment绑定修改或者添加了数据。
    然后自己再写程序把数据显示到ListView中,显示到listView中的数据不正确。