【发布时间】:2019-02-01 19:30:46
【问题描述】:
我正在将 datagridview 中存在的记录添加到我的数据库中,但只添加了第一条记录的数据 - 多次。
如果存在五行,则第一行的数据将被添加到数据库中 5 次。
Dim a As String
Dim b As String
Dim c As String
Dim d As String
For Each dr As DataGridViewRow In Me.DataGridView1.Rows
If Not dr.IsNewRow Then
a = dr.Cells(0).Value.ToString
b = dr.Cells(1).Value.ToString
c = dr.Cells(2).Value.ToString
d = dr.Cells(3).Value.ToString
connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\sample.accdb"
connection.Open()
sql = "INSERT INTO sampleone(`id`, `first_name`, `last_name`, `age`) VALUES (@ID, @FN, @LN, @AGE)"
cmd.CommandText = sql
cmd.Connection = connection
cmd.Parameters.Add("@ID", OleDbType.Integer).Value = a
cmd.Parameters.Add("@FN", OleDbType.LongVarChar).Value = b
cmd.Parameters.Add("@LN", OleDbType.VarChar).Value = c
cmd.Parameters.Add("@AGE", OleDbType.Integer).Value = d
cmd.ExecuteNonQuery()
connection.Close()
End If
【问题讨论】:
-
请先显示您的代码,以便我们更好地为您提供帮助。没有任何代码,我们无法看到您可能出错的地方。
-
没有看到你的代码,听起来你有一个未绑定的DataGridView。我的建议是将 DataGridView 绑定到绑定到您的 DataSource 的 BindingSource。
标签: vb.net bulkinsert