gpt4 book ai didi

mysql - 通过获取 ListView 中特定列中的值与我的数据库中的值的总和来更新数据库

转载 作者:行者123 更新时间:2023-11-29 02:42:48 28 4
gpt4 key购买 nike

在我的数据库中,我有一个名为 [productlist] 的表,里面有 (Name),(Stock) (Brand),(Size)

我有一个像这样的 ListView :

|Qty| Name  | Brand  | Size  |
| 2 | Name 1| Brand 1| Size 1|
| 2 | Name 2| Brand 2| Size 2|

我想要发生的是当我点击保存按钮时我的 ListView 中的“Qty”值将添加到我的数据库中的“Stock”值

(我的 ListView 中的数量值)+(我的产品列表中的当前库存值)=(我的产品列表中的库存)

我不知道如何开始,所以我尝试了这段代码,但它没有用:

Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click


Dim MyConnection As New MySqlConnection
Dim MyTransaction As MySqlTransaction = Nothing

MyConnection.ConnectionString = "Server=localhost;Database=empiredb;Uid=root;"

MyConnection.Open()
MyTransaction = MyConnection.BeginTransaction


For Each item As ListViewItem In lvwProductPurchases.Items



Dim SQL As String = "update productlist set [Stock] = [Stock] + @0 where Name = @1 and Brand = @2 and Size = @3"

Dim CMD4 As New MySqlCommand

CMD4.Connection = MyConnection
CMD4.Transaction = MyTransaction
CMD4.CommandText = SQL
CMD4.Parameters.AddWithValue("@0", item.Text)
CMD4.Parameters.AddWithValue("@1", item.SubItems(1).Text)
CMD4.Parameters.AddWithValue("@2", item.SubItems(2).Text)
CMD4.Parameters.AddWithValue("@3", item.SubItems(3).Text)
CMD4.ExecuteNonQuery()
CMD4.Dispose()
Next
MsgBox("updated")
'try and catch i will put transactionrollback
End sub

您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在 '[Stock] = [Stock] + '2' 附近使用的正确语法,其中 Name = 'kahoy' and Brand = 'Brand 1' and Size = 'm' at line 1

最佳答案

我没有对 VB.net 做过很多工作,但我确实发现了一个与您的 MySQL 查询有关的问题。在 MySQL 中,将列名放在括号中以转义/引用它们是无效的语法。它在 SQL Server、Access 和其他一些数据库中有效。我建议对您的查询使用以下语法:

Dim SQL As String = "UPDATE productlist SET Stock = Stock + @0 " _
"WHERE Name = @1 AND Brand = @2 AND Size = @3"

关于mysql - 通过获取 ListView 中特定列中的值与我的数据库中的值的总和来更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47936043/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com