你好!如何把DATAGRID的多行数据写入数据库表?请给代码!!

解决方案 »

  1.   

    把datagrid改成可添加和可修改。
      

  2.   

    工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic    Set DataGrid1.DataSource = Rs---------------------------------
    保存:
       Rs.Update
       Rs.UpdateBatch
      

  3.   

    Private Sub Update(lngStart As Long, lngEnd As Long, lngColCount As Long)
        
        Dim objCn   As New ADODB.Connection     '定义数据库的连接
        Dim objCmd As ADODB.Command
        Dim i As Long                           '要添加记录的行位置
        Dim j As Long                           '要添加记录的列位置
        Dim arrValues(lngColCount) As Variant   '记录当前的行中的各元数的值
                                                '可根据不同的变量定义
        
        objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        objCn.Open
         
        For i = lngStart To lngEnd              '从开始添加的行到结束的行
            dgTest.Row = i
            For j = 0 To lngColCount - 1
                dgTest.Col = j
                arrValues(j) = dgTest.Text
            Next j
            
            Set objCmd = New ADODB.Command
            Set objCmd.ActiveConnection = objCn
            objCmd.CommandType = adCmdText
            objCmd.CommandText = "Insert Into 表(字段1,字段...字段lngColCount) Values('" & arrValues(0) & "','" & arrValues(1) & "',...'" & arrValues(lngColCount - 1) & "'"
            objCmd.Execute
            Set objCmd = Nothing
        Next i
        
        Set objCn = Nothing
    End Sub