Entrez la description de l'image ici J'essaie d'avoir la différence de quantité et Coque dans ma base de données et mettez à jour la colonne de quantité en fonction de la différence entre les deux.
J'ai essayé un code SQL différent pour celui-ci, mais j'ai toujours eu la même erreur p>
essayer
getconnection () p>
3 Réponses :
Mettez à jour le tableau et avec la valeur modifiée et remplissez la grilleView. Il changera directement la valeur de la table.
ou p>
Si vous recherchez une modification temporaire des moyens de données suivez l'étape ci-dessous: p>
"SELECT Quantity AS [Quantity] FROM products WHERE ProductCode = @ProductCode;"
Vous essayez de Exececutenonquery () Code> Je pense donc que vous essayez de mettre à jour votre table de produits.
sql = "UPDATE products set Quantity = (Quantity - @ItemBought) WHERE ProductCode = @ProductCode;"
cmd = New MySqlCommand
With cmd
.Connection = conn
.CommandText = sql
.Parameters.Clear()
.Parameters.AddWithValue("@ProductCode", formPOS.ProductCodeTB.Text)
.Parameters.AddWithValue("@ItemBought", formInventory.quantityTB.Text)
result = cmd.ExecuteNonQuery()
If result = 0 Then
MsgBox("Error in updating the selected product!")
Else
MsgBox("Successfully updated the selected product!")
End If"
J'ai essayé le nouveau code SQL que vous avez suggéré monsieur, mais je ne travaille toujours pas
Mise à jour de la chaîne de requête SQL. Essayez maintenant et laissez-moi savoir les détails d'erreur.
Toujours pas monsieur, il va juste à la "If Résultat = 0 puis msgbox (" Erreur lors de la mise à jour du produit sélectionné! ")" Déclaration
Quelle est la valeur de votre formulaire.productcodetb.text et forminventory.Quanitytb.text, notre code de produit existait dans votre dB, il devrait renvoyer 1, sinon il retournera 0
CodeCode itemdeDescription UnitPrice Quantité Quantité PosteLêté 123 Aluminium 60 20 10
Jusqu'à présent, j'ai essayé la requête et son travail. Ma suspicion est que votre code de produit est vide. Pouvez-vous ajouter un point d'arrêt et déboguer?
Avez-vous rendu public pour ces 2 textes de texte puisque vous essayez de les atteindre de différentes formes?
Oui, tout est public
Je ne peux pas ajouter de débogage et de breakpoint monsieur, car le code lui-même est en cours d'exécution sans erreur, c'est juste que la base de données ne change pas sa valeur.
Il suffit de recevoir la bonne réponse, je l'ai résolu en définissant la bonne zone de texte et la bonne forme de la colonne CodeCode
Try getConnection() sql = "UPDATE products SET Quantity = (Quantity - @ItemBought) WHERE ProductCode = @ProductCode;" cmd = New MySqlCommand With cmd .Connection = conn .CommandText = sql .Parameters.Clear() .Parameters.AddWithValue("@ProductCode", formPOS.ProductCodeTB.Text) .Parameters.AddWithValue("@ItemBought", formQuantity.quantityTB.Text) result = cmd.ExecuteNonQuery() If result = 0 Then MsgBox("Error in updating the selected product!") Else MsgBox("Successfully updated the selected product!") End If End With
Quel RDBMS est-ce?
Semble que votre chaîne de connexion ne fonctionne pas
Les crochets sont une chose sqlserver mysql ne les aimeront pas. Si vous utilisez MySQL, essayez des guillemets simples.
essayez-vous de mettre à jour ou de sélectionner?
Mettre à jour la base de données SIR