Ich habe eine Listview, ich habe bereits einen Code, dass, wenn ich die "Kaufen" -Taste die Menge links und Menge wird in der Datenbank subtrahiert und wird in der Listview angezeigt werden. Im Gegensatz dazu möchte ich einen ausgewählten Artikel entfernen und seine Menge zur verbleibenden Menge hinzufügen. her mein CodeAddition Abfrage zu ausgewählten Artikel
openconnection()
cmd = New SqlCommand("UPDATE products SET quantity = '" + TextBox3.Text + "' WHERE bar_code = '" & ComboBox1.Text & "'", conn)
For Each i As ListViewItem In
ListView1.SelectedItems
cmd.Parameters.AddWithValue("@quantity", Val(TextBox5.Text) + Val(TextBox3.Text))
cmd.Parameters.AddWithValue("@barcode", TextBox3.Text)
ListView1.Items.Remove(i)
ListView1.Items.Remove(i)
dr = cmd.ExecuteReader()
Next
End Sub
Der Artikel entfernt werden, aber es wird nicht in der Datenbank hinzufügen, ich weiß nicht, was ich fehle.
Ich glaube, Sie am meisten über Parameter in SQL-Abfragen lesen https://www.mssqltips.com/ sqlservertip/2981/using-parameters-for-sql-server-Abfragen-und-gespeicherte-procedures/ – Damirchi
Tag der 'DBMS' Sie verwenden –
Es gibt ein paar Dinge Probleme, die ich hier sehe. Erstens fügen die Parameter addedwith value lines überhaupt nichts hinzu, da sich in Ihrem Query-String keine Parameter befinden. Sie versuchen, die Mengenspalte mit einer Zeichenfolge zu aktualisieren, wenn es sich wahrscheinlich um einen Int handelt. Sie sollten neben textbox1 usw. auch eine Namenskonvention verwenden, da diese nicht konsistent verwendet werden. textbox3 und combobox1 scheinen beide Barcodes gemäß Ihrem Code zu halten, aber Sie verwenden textbox3 als Wert für die Mengenaktualisierung in einer Zeile, und Sie fügen es einer Textbox5 in einer anderen Zeile hinzu. Nichts macht hier Sinn – soohoonigan