Salut tout le monde.
J'ai une erreur lorsque je veut mette à jour ma base de donnée :
J'ai un Datagrid chargé à partir d'une Base de donnée produit et j'aimerai mettre à jour les stocks des produits.La méthode OleDbCommand.Prepare requiert que tous les paramètres de longueur variable aient une valeur Size explicitement définie différente de zéro.
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Dim ref As String Dim nbstock As Integer Dim nbr As Integer ref = InputBox("Veuillez entrer le nom du produit", "Ajout Stock") nbstock = InputBox("Veuillez entrer le nombre de cartouche", "Ajout Stock") 'permet de trouver la ligne du produit dont on veut changer les stock For i = 0 To dgt_prod.Rows.Count - 1 If dgt_prod.Item(2, i).Value = ref Then i = nbr End If Next cmd = New OleDbCommand() cmd.CommandText = "SELECT * FROM Products WHERE ProductName =prod" cmd.Parameters.Add("prod", System.Data.OleDb.OleDbType.VarChar) cmd.Parameters("prod").Value = ref 'remplissage du DataAdapter,du DataSet et de la DataTable dta = New OleDbDataAdapter(cmd) cmd.Connection() = cnx Try dta.Fill(dts, "Products") Catch ex As OleDb.OleDbException MsgBox("ERROR:" & ex.Source & " " & ex.Message, MsgBoxStyle.OkOnly) End Try 'récupération de la ligne sur laquel on est placés dans le datarow dtr = dts.Tables("Products").Rows(chiffre) 'modification des données dtr("QuantitéEnStock") = nbstock 'création et exécution du commandbuilder pour mettre à jour le DataAdapter cmdb = New OleDbCommandBuilder(dta) dta.Update(dts, "Products") dtt = dts.Tables("Products")
Partager