我有一个mysql数据库和一个gridview。现在我想计算我的插入和更新。有人建议设置一个变量来表示每个元素,例如nUpdates和nInserts,但我不确定如何做到这一点?这是我正在使用的代码
For i = 0 To DataGridView1.RowCount - 1
Using dbSQL_cmd As New MySqlCommand()
student_id = DataGridView1.Item(i, 0).Value.ToString
name = DataGridView1.Item(i, 1).Value.ToString
age = DataGridView1.Item(i, 2).Value.ToString
adress = DataGridView1.Item(i, 3).Value.ToString.ToLower
dbSQL_query = "INSERT INTO student VALUES (?id, ?name, ?age, ?adress) " +
" on duplicate key update name=(name=?name, age=?age, adress=?adress)"
With dbSQL_cmd
.Parameters.AddWithValue("?id", student_id)
.Parameters.AddWithValue("?name", name)
.Parameters.AddWithValue("?age", age)
.Parameters.AddWithValue("?adress", adress)
' .Parameters.AddWithValue("?status", ?????)
.CommandText = dbSQL_query
.Connection = SQLConnection
.CommandType = CommandType.Text
End With
dbSQL_cmd.ExecuteNonQuery()
End Using
Next
答案 0 :(得分:0)
首先,检查插入/更新循环之前和之后表中的行数。它们之间的区别在于您插入的行数。
您知道gridview中有多少项目。从您的代码中,每个代码都是插入或更新,因此从项目数中减去您执行的插入数(从第一步开始),这是您更新的行数。