我想使用 datagridview 中的值批量更新我的資料庫表,但我還需要先對 datagridview 和 mysql 表值求和。我怎么做?
這是我當前的更新按鈕代碼
附加圖片
For Each row As DataGridViewRow In dgvStok.Rows
If (Not row.IsNewRow) Then
Dim ID As DataGridViewCell = row.Cells("ID").Value
Dim Stok As DataGridViewCell = row.Cells("Stok").Value
conn = New MySqlConnection('myconnstring)
conn.Open()
cmd = New MySqlCommand("Select * from tbStok where ID='" & ID & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
Dim StokInventory, IncomingStok As Integer
StokInventory = dr.Item("Stok")
TotalStok = StokInventory IncomingStok
Dim updateStok As String = "update tbStok set Stok ='" & TotalStok & "' where ID = '" & ID & "'"
cmd = New MySqlCommand(updateStok, conn)
cmd.ExecuteNonQuery()
End If
conn.Close()
End If
Next
uj5u.com熱心網友回復:
我找到了我的解決方案
Private Sub UpdateBTN_Click(sender As Object, e As EventArgs) Handles UpdateBTN.Click
Dim ID As String
Dim StartingStok, IncomingStok, TotalStok As Integer
For Each DGVR As DataGridViewRow In dgvStok.Rows
ID = (DGVR.Cells("ID").Value)
IncomingStok= (DGVR.Cells("Stok").Value)
#open mysql connection string
cmd = New MySqlCommand("Select * from tbStok where ID='" & ID & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
StartingStok = dr.Item("Stok")
End If
conn.Close()
TotalStok = StartingStok IncomingStok
#open mysql connection string
Dim UpdateTable As String = "update tbStok set Stok ='" & TotalStok & "' where ID = '" & ID & "'"
cmd = New MySqlCommand(UpdateTable, conn)
cmd.ExecuteNonQuery()
conn.Close()
Next
End Sub
此代碼將回圈遍歷 datagridview 并為每個 ID(主鍵)從 datagridview 和 mysql 表中求和值,然后使用新值更新表,該值來自為每個 ID 匯總 datagridview 表和 mysql 表
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/493975.html
上一篇:如果串列框專案包含特定字符,則取消選擇它(不允許選擇它)
下一篇:JS陣列與陣列物件的交集
