我还在学习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传递值,还是我可以将代码放在这个函数中来更新每一行,因为它从数据库中提取它?
答案 0 :(得分:1)
如果要保存数据,请勿使用数据读取器。要么在SQL中完成所有操作,要么调用ExecuteNonQuery来执行适当的UPDATE语句或使用数据适配器。在后一种情况下,调用Fill以使用所需数据填充DataTable,循环访问该DataTable的行并进行适当的修改,然后在同一适配器上调用Update以将更改保存回数据库。如果要修改现有行,则至少需要填充数据适配器的UpdateCommand,您可以手动或使用命令构建器来执行这些行。