Dim conn As New ADODB.Connection
 Dim rs As New ADODB.Recordset
 
 If conn.State = adopenstate Then
       conn.Close
 End If
 conn.Open "driver={SQL Server};server=hscomputer-6;uid=;pwd=;database=sale;"
 
 If rs.State = adopenstate Then
      rs.Close
  End If
  
 rs.Open "select * from customer", conn, adOpenKeyset, adLockPessimistic
 
 
    With rs
        .AddNew
        .Fields("custcode") = Text1.Text
        .Fields("custname") = Text2.Text
        .update  ///這一句希望能在'保存'按鈕裡。
    end with如何點保存按鈕後才保存資料。

解决方案 »

  1.   

    Option Explicit
    dim Rs as Recordset   '这一句放到声明部'以下为Rs的打开方法,adLockBatchOptimistic表示批量更新
    Rs.open sql,cnn, adOpenKeyset, adLockBatchOptimistic
    Rs.AddNew
    .............
    Rs.updateprivate sub cmdSave_click()On Error GoTo tranerr
       cnn.BeginTrans
       rs.UpdateBatch     
       cnn.CommitTrans      ’到这一步,才将数据完全保存进去,以前都是只保存在缓存内。
       Exit Sub
    tranerr:
            Errdesc = Err.Description
            cnn.RollbackTrans
            MsgBox Errdesc
    end sub
      

  2.   

    public conn As New ADODB.Connection'定义连接对象为全局型的
    public rs As New ADODB.Recordset'定义记录集对象为全局型的
    private sub form_load()'窗体调入事件,用于连接数据库
       If conn.State = adopenstate Then
          conn.Close
       End If
       conn.Open "driver={SQL Server};server=hscomputer-6;uid=;pwd=;database=sale;"
     
       If rs.State = adopenstate Then
          rs.Close
       End If
    end sub private cmdadd_click()'增加按扭事件,用于添加记录
       rs.Open "select * from customer", conn, adOpenKeyset, adLockPessimistic
       With rs
           .AddNew
           .Fields("custcode") = trim(Text1.Text)
           .Fields("custname") = trim(Text2.Text)
       End with
    end subprivate cmdsave_click()'保存记录按钮事件
       flag=msbox("你确认保存?",64,"提示")
       if flag=6 then
          rs.update
       else
          rs.CancelUpdate
          exit sub
       end if
    end sub
      

  3.   

    flag=msbox("你确认保存?",64,"提示")可能有错,可能不是64,我记不清了,你查一下它的用法。
      

  4.   

    为什么不能在"點保存按鈕"再调用addnew方法???
      

  5.   

    提示錯誤:err:3704
       operation is not allowed when the object is closed
    If conn.State = adopenstate Then
          conn.Close
       End If
       我不懂為什麼要關掉數據庫呢?