同上

解决方案 »

  1.   

    呵呵,一个问题不用问这么多遍的,到处贴.好浪费啊
    如果你用绑定的话,可以用update或者updatebatch,不用绑定的话就用循环insert依次写入
    更新操作也用sql语句循环update,只是表格里面很多数据的话可能效率会差一些.不过现在的机器配置都不错,这一点效率应该没影响的
      

  2.   

    1.如果与一个数据库绑定的话.使用update.
    2.如果是使用非绑定,使用 INSERT INTO 或 UPDATE.
    如: 
            Dim StrSql As String
            With VSFlexGrid1
                 StrSql = "UPDATE [TABLENAME] SET(字段名1='" & .TextMatrix(1, 0) & "',字段名2='" & .TextMatrix(1, 1) & "')"
                 P_CNN.Execute StrSql
            End With        Dim StrSql As String
            With VSFlexGrid1
                 StrSql = "INSERT INTO [TABLENAME] (字段名1,字段名2)('" & .TextMatrix(1, 0) & "','" & .TextMatrix(1, 1) & "')"
                 P_CNN.Execute StrSql
            End With
      

  3.   

    抱歉,我太着急了,有些没说清楚,现在把代码贴出来,主要是Update后或Updatebatch都写不回数据库!  
      Option Explicit
      Dim cnn As ADODB.Connection
      Dim cnnstr As String
      Dim rst As ADODB.Recordset
      Dim cmm As ADODB.CommandPrivate Sub Form_Activate()
      Set cnn = New ADODB.Connection
      Set rst = New ADODB.Recordset
      
      cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db3c.mdb;Persist Security Info=False"
      cnn.BeginTrans  rst.CursorLocation = adUseClient 
      Set VSFlexGrid2.DataSource = rst  rst.Open "select * from 员工", cnn, adOpenDynamic, adLockOptimistic  On Error GoTo transError
      cnn.BeginTrans
      
      transError:
      Debug.Print Err.DescriptionEnd SubPrivate Sub Command1_Click()
      rst.update
      cnn.CommitTrans
    End SubPrivate Sub Form_Unload(Cancel As Integer)
      rst.update
    End Sub  数据库Access
      update和事务都不行,请在两方面指教,在线等,急!
      

  4.   

    注意这里. 
    rst.Open "select * from 员工", cnn, adOpenDynamic, adLockOptimistic

    Set VSFlexGrid2.DataSource = rst与 VSFlexGrid 绑定的是一个RS值,不是数据表.当然不能Private Sub Command1_Click()
      rst.update
      cnn.CommitTrans
    End Sub
    更新数据了.
    要用SQL语句(详细看上面).
      

  5.   

    (1)与 VSFlexGrid 绑定的是一个RS值,不是数据表
        
        ?哪什么是绑定数据表(2)1.如果与一个数据库绑定的话.使用update.
         2.如果是使用非绑定,使用 INSERT INTO 或 UPDATE.rst.Open "select * from 员工", 
        ?cnn, adOpenDynamic, adLockOptimistic
          Set VSFlexGrid2.DataSource = rst
          这不就是动态绑定吗?
      

  6.   

    你将一个ADODC控件放到你的窗体中,然后在属生页中设置各种属性试一下,你就会明白什么什么是 数据表(adCmdTable),什么是命令行(adCmdTxt).
    如果是数据表时,ADODC会知道那个字段对应数据表的那个位置,如果是一条SQL语句,VB不知道字段与数据表之间的对应关系.
      

  7.   

    1.UPDATE.rst.Open "select * from 员工":该语名是错误的 
    2 Cnn, adOpenDynamic, adLockOptimistic
          Set VSFlexGrid2.DataSource = rst
          这不就是动态绑定吗?
          是动态绑定
    3.我将"非连接"打成了"非绑定".不过,我都是习惯使用非连接与非绑定模式工作.
    4.留下你的EMAIL.
      我的EMAIL:[email protected]
      

  8.   

    非常感谢!
    我一直是做计算机相关销售工作,比较喜欢看书,最近开始学习vb、数据库,希望可以互相交流。
    E-Mail:[email protected]