使用VB.NET将datagridview中的多条记录插入到我的数据库表中

时间:2013-04-16 07:22:09

标签: mysql vb.net datagridview

我希望从insertdatagridview的{​​{1}}条记录, 但我不知道如何将mysql database table插入数据库datagridview。 怎么做? :(

4 个答案:

答案 0 :(得分:2)

kumar,您的代码存在问题

name = Me.DataGridView1.Rows(i).Cells(0).ToString()

  age= Me.DataGridView1.Rows(i).Cells(1).ToString()

应该

name = Me.DataGridView1.Rows(i).Cells(0).Value.ToString()

  age= Me.DataGridView1.Rows(i).Cells(1).Value.ToString()

答案 1 :(得分:1)

这是我的建议,如果你有代码然后可以更好地工作

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ''create connection 
        Dim conn As SqlConnection = New SqlConnection()
        conn.Open()

        Dim comm As SqlCommand = New SqlCommand()
        comm.Connection = conn

        ''insert data to sql database row by row
        Dim name, ageAs String
        For i As Integer = 0 To Me.DataGridView1.Rows.Count
            name = Me.DataGridView1.Rows(i).Cells(0).ToString()
            age= Me.DataGridView1.Rows(i).Cells(1).ToString()

            comm.CommandText = "insert into mytable(name,age) values('" & name & "','" & age& "')"
            comm.ExecuteNonQuery()
        Next

        conn.Close()

    End Sub

这只是一种插入方式,最好是使用存储过程来插入值,因为如果使用SQL,可能会发生SQL注入。所以存储过程是最好的方法,并保存使用。

答案 2 :(得分:0)

更改代码行:

 For i As Integer = 0 To Me.AddPurchases.Rows.Count

这一行:

 For i As Integer = 0 To Me.AddPurchases.Rows.Count - 1 

以上是verohwm消息例外的解决方案。 *

答案 3 :(得分:0)

而不是插入数据我试图更新记录和我

Me.AddPurchases.Rows(ⅰ).Cells(0).Value.ToString()

此语句未解决此语句将返回行计数和列计数的目的,如{row = 0,col = 1}下一次迭代{row = 0,col = 1}等等 但

Dim roid As String

    For i As Integer = 0 To Me.edit_role_grid.RowCount - 1
        roid = Me.edit_role_grid.Rows(i).Cells(0).FormattedValue
        MsgBox(roid) 

这对我来说很好,这是返回单元格的文本,现在这个值可以在任何地方使用