数据库记录更新的问题,以下是我的源代码,总是无法实现记录更新,请各位帮忙,谢谢!
Private Sub update_Click()
strsql = "update set Id=txtId from kqxx where id='" & Replace(Trim(txtId.Text), "'", "''") & "'"
ExeSql
     
    Call msfDisplalyRecord(Recrs, msfDisplaly)
End SubPublic Function ExeSql() As BooleanOn Error GoTo PROC_ERR
   
   Set Recrs = New ADODB.Recordset
   Recrs.CursorLocation = adUseClient
   Recrs.Open strsql, strCon, adOpenKeyset, adLockPessimisticPROC_ERR:
   If Err.Number > 0 Then
      MsgBox "数据库连接出错:" & Err.Description, vbOKOnly + vbCritical, "错误"
   End If
End FunctionPrivate Sub msfDisplalyRecord(ByVal Rs As ADODB.Recordset, ByVal msfGrid As MSHFlexGrid)
   On Error GoTo PROC_ERR
   
   Dim intI As Integer
   Dim intCount As Integer
   Dim intJ As Integer
   Dim intRecrsCount As Integer
   Dim strAddItem As String
   
   
   Rs.MoveFirst
  
   Call msfDisplalyClear
   intCount = msfGrid.Rows - 1
   
   If Rs.RecordCount > 0 Then
      
     '''循环所有的记录
     For intRecrsCount = 1 To Rs.RecordCount
         
         strAddItem = " " & vbTab & " "
         '''读取列值
          For intJ = 0 To Recrs.Fields.Count - 1
              strAddItem = strAddItem & vbTab & Rs(intJ)
          Next intJ
          msfGrid.AddItem strAddItem
          
          If intRecrsCount = 1 Then
             For intI = 1 To intCount '''移除空行
                 msfGrid.RemoveItem 1
             Next intI
          End If
          Rs.MoveNext
      Next intRecrsCount
      
   End If
PROC_EXIT:
    Exit Sub
PROC_ERR:
 
End Sub

解决方案 »

  1.   

    同意楼上的意见。
    Recrs 需要重新获取数据。还有楼主是不是太累了。
    msfDisplalyRecord
    用一句话就完成了,非要一个一个加进去。Set msfGrid  = rs不就OK了。
      

  2.   

    不好意思少打了。Set msfGrid.DataSource = rs
      

  3.   

    strsql = "update kqxx set Id=txtId where id='" & Replace(Trim(txtId.Text), "'", "''") & "'"
    是不是应该这样写
    还有加入一句 datagrid.refresh
      

  4.   

    strsql = "update set Id=txtId from kqxx where id='" & Replace(Trim(txtId.Text), "'", "''") & "'"
    SQL語句就錯了:
    strsql = "update kqxx set Id=txtId where id='" & Replace(Trim(txtId.Text), "'", "''") & "'"
      

  5.   

    to zengjun1980() xing0091()
    我改过了,可是还是不行呀。有没有数据更新的例子?
      

  6.   

    strsql = "update kqxx set Id=" & txtID.Text & ",hour=" & txtHour.Text & ",minute=" & txtHour.Text & ",date='" & format(txtDate.Text,"yyyy-mm-dd") & ",PeriodOfTime=" & txtPeriodOfTime.Text & ",re=" & txtRe.Text & " where id='" & Replace(Trim(txtID.Text), "'", "''") & "'"
    '注意:
      数值型的变量引用方法:" & 变量名 & "
        字符型变量的引用方法:'"& 变量名 & "'