0
私は、テーブルは次のようになります:更新次の行更新された行の現在の場合は0
HarvestID | CheckIn | Actual | Status
1 | Date | 100 | Process
2 | Date | 200 | Process
3 | Date | 400 | Process
と私の問題は、私はその後、更新ID「1」を数量=「350」に設定した場合、次の行を更新する方法であります& '2'から0、ID '3' Qty = '350'
これは、 'A' Qtyの合計とストアドプロシージャを使用して新しいテーブルを作成せずにこれを行う方法ですか?
すでに私は何をしようとすると、次のとおりです。
cmdTemp = New MySqlCommand("SELECT * FROM tb_harvest ORDER BY CheckIn ASC LIMIT 1", cn)
sqlrd = cmdTemp.ExecuteReader
While sqlrd.Read
harvestid = sqlrd("HarvestID")
qtyTemp1 = sqlrd("Actual") - Qty : qtyTemp2 = sqlrd("Actual")
End While
sqlrd.Close()
If qtyTemp1 < 0 Then
cmdTemp = New MySqlCommand("UPDATE tb_harvest SET Actual=0 WHERE HarvestID=" & harvestid & "; " & _
"UPDATE tb_harvest SET Actual=Actual+" & qtyTemp1 & " WHERE HarvestID=" & harvestid + 1, cn)
cmdTemp.ExecuteNonQuery()
Else
cmdTemp = New MySqlCommand("UPDATE tb_harvest SET Actual=Actual-" & qtyTemp2 & " WHERE HarvestID=" & harvestid, cn)
cmdTemp.ExecuteNonQuery()
End If
このコードは大きな感謝を仕事です! @GordonLinoff VB.netでそれを使用しようとすると、qtyまたはtmpが定義されていないと言うエラーが返され、その解決方法 – Shiroze