2

我有一个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 
4

1 回答 1

0

首先,检查插入/更新循环前后表中的行数。它们之间的区别在于您插入的行数。

您知道网格视图中有多少项目。从您的代码中,每个都是插入或更新,因此从项目数中减去您所做的插入数(从第一步开始),这就是您更新的行数。

于 2012-10-31T21:23:39.247 回答