获取MYSQL结果迭代它们并向DB添加新值

时间:2014-01-13 00:01:56

标签: mysql vb.net function

我还在学习vb.net,我需要创建函数来从mysql中获取结果,乘以值,然后将这些值添加到数据库中。

这就是我到目前为止所做的事情:

Public Sub updateusers()
    strSQL = "SELECT * FROM users WHERE status='1'"
    CONNECTION.Open()
    cmd = New MySqlCommand(strSQL, CONNECTION)
    dr = cmd.ExecuteReader()
    Userpanellistview.Items.Clear()

    Do While dr.Read()
        valx = (dr.Item("userid").ToString())
        valy = (dr.Item("value").ToString())
        valz = (dr.Item("value").ToString) * (dr.Item("plusvalue").ToString())



        Dim list As ListViewItem = Userpanellistview.Items.Add(a)
        list.SubItems.Add(valx)
        list.SubItems.Add(valy)
        list.SubItems.Add(valz)
    Loop
    dr.Close()
    cmd.Dispose()
    CONNECTION.Close()
End Sub

我需要使用命令:

更新“user”表的值
strSQL = "UPDATE users SET status=2, calcammount='" & valz & "' WHERE userid='" & valx & "'"

现在,我不知道从哪里开始,我应该创建另一个函数并从这个函数updateusers传递值,还是我可以将代码放在这个函数中来更新每一行,因为它从数据库中提取它?

1 个答案:

答案 0 :(得分:1)

如果要保存数据,请勿使用数据读取器。要么在SQL中完成所有操作,要么调用ExecuteNonQuery来执行适当的UPDATE语句或使用数据适配器。在后一种情况下,调用Fill以使用所需数据填充DataTable,循环访问该DataTable的行并进行适当的修改,然后在同一适配器上调用Update以将更改保存回数据库。如果要修改现有行,则至少需要填充数据适配器的UpdateCommand,您可以手动或使用命令构建器来执行这些行。