我用ado绑定的,有的帖子给出以下方法:
with   msflexgrid   
          for   i=1   to   .row-1   
                  strsql="insert   into   tablename(...)   values(...)"   
                  conn.execute   strsql   
          next   i   
  end   with   
  
但是我的问题不同,需要将几个隐藏的关键字跟每条记录一同保存到数据库,请问该怎么实现呢?多给思路,多给代码,谢谢!

解决方案 »

  1.   

     .row-1 改成  .rows-1
     '.row表示当前行,.rows表示总行数
      

  2.   


    我的代码如下:
    With yzhib.Recordset
            For i = 1 To MSFlexGrid1.rows - 1
                .AddNew
                .Fields(0) = ppID
                .Fields(1) = applyId
                .Fields(2) = MSFlexGrid1.TextMatrix(i, 4)
                .Fields(3) = MSFlexGrid1.TextMatrix(i, 2)
                .Fields(4) = MSFlexGrid1.TextMatrix(i, 1)
                .Fields(5) = MSFlexGrid1.TextMatrix(i, 3)
            Next
        .Update
        End With
    我想逐条写入数据库,结果:报错多步操作引发的错误,那位有思路啊?赐教
      

  3.   

    With yzhib.Recordset 
            For i = 1 To MSFlexGrid1.rows - 1 
                .AddNew 
                .Fields(0) = ppID 
                .Fields(1) = applyId 
                .Fields(2) = MSFlexGrid1.TextMatrix(i, 4) 
                .Fields(3) = MSFlexGrid1.TextMatrix(i, 2) 
                .Fields(4) = MSFlexGrid1.TextMatrix(i, 1) 
                .Fields(5) = MSFlexGrid1.TextMatrix(i, 3) 
                .Update   '放到这里看看
            Next 
        
        End With 
      

  4.   

    我的代码如下: 
    With yzhib.Recordset 
            For i = 1 To MSFlexGrid1.rows - 1 
                .AddNew 
                .Fields(0) = ppID 
                .Fields(1) = applyId 
                .Fields(2) = MSFlexGrid1.TextMatrix(i, 4) 
                .Fields(3) = MSFlexGrid1.TextMatrix(i, 2) 
                .Fields(4) = MSFlexGrid1.TextMatrix(i, 1) 
                .Fields(5) = MSFlexGrid1.TextMatrix(i, 3) 
            Next 
        .Update 
        End With 如果你要上述效果必须将记录集的打开方式设置为批更新模式:
    rs.CursorLocation =adUseClient 
    rs.open sql,cnn,adOpenStatic,adLockBatchOptimstic