-1
votes

Comment déduire la quantité dans la base de données SQL?

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

essayer getconnection () xxx


5 commentaires

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


3 Réponses :


0
votes

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;"


0 commentaires

0
votes

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"


9 commentaires

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.



0
votes

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


0 commentaires