我正在将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
答案 0 :(得分:0)
尝试以下方法:
For i = 0 to datagridview.rowCount - 1
QueryExecute($"INSERT INTO `YourTable` VALUES ('{datagridview.Item(0, i).Value}', '{datagridview.Item(1, i).Value}')", DatabaseConnection)
Next
由于我不知道您如何访问数据库,因此请在代码中输入上面的查询。
我还假设您的datagridview有2列。如果还有更多内容,则可以在其中推断代码。
希望我的答案能解决您的问题