【发布时间】:2018-06-04 18:50:27
【问题描述】:
在我的数据库中,我有一个名为 [productlist] 的表,其中包含 (Name),(Stock) (Brand),(Size)
我有一个这样的列表视图:
|Qty| Name | Brand | Size |
| 2 | Name 1| Brand 1| Size 1|
| 2 | Name 2| Brand 2| Size 2|
我想要发生的是当我点击保存按钮时 我的列表视图中“数量”的值将添加到我的数据库中的“库存”值
(我的列表视图中的数量值)+(我的产品列表中的库存当前值)=(我的产品列表中的库存)
我不知道如何开始,所以我尝试了这段代码,但它没有工作:
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
【问题讨论】:
-
你能告诉我们哪一行代码有问题吗?否则,帮助您的唯一方法是让 VBA 专家阅读本文,或者让某人在本地测试您的实际代码。
-
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '[Stock] = [Stock] + '2' 附近使用正确的语法,其中 Name = 'kahoy' and Brand = 'Brand 1' and Size = 'm' at line 1
-
我不知道如何在我的数据库中获取 stock 的值并将其放入我的更新查询中,以便我可以获得两个值的总和
-
我在下面给出了一个答案,它应该至少可以解决您的一个问题。在我们让您的代码正常工作之前,我很高兴与您一起迭代。