【发布时间】:2013-04-16 07:22:09
【问题描述】:
我想 insert 记录从 datagridview 到 mysql database table ,
但我不知道如何将datagridview 插入数据库table。
怎么做? :(
【问题讨论】:
标签: mysql vb.net datagridview
我想 insert 记录从 datagridview 到 mysql database table ,
但我不知道如何将datagridview 插入数据库table。
怎么做? :(
【问题讨论】:
标签: mysql vb.net datagridview
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()
【讨论】:
这只是我的建议,如果你有你的代码,那么可以做得更好
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 注入。所以存储过程是最好的方式,保存后使用。
【讨论】:
更改代码行:
For i As Integer = 0 To Me.AddPurchases.Rows.Count
用这一行:
For i As Integer = 0 To Me.AddPurchases.Rows.Count - 1
以上是verohwm 消息异常的解决方法。 *
【讨论】:
我没有插入数据,而是尝试更新记录并为我自己
Me.AddPurchases.Rows(i).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)
这对我来说很好,这是返回单元格的文本,现在这个值可以在任何地方使用
【讨论】: