Bonjour, je suis en train de faire une base de données pour un Intranet et je n'arrive pas à la mettre à jour.
J'ai créé une datagrid avec une liste de produits contenant référence, nom, prix h.t. , version, remarques.
Pour mettre cette liste à jour, j'ai ajouté une colonne avec un bouton modifier et annuler la modif. Les boutons font bien appel à ma fonction de mise à jour et d'annulation de la modif.
Mais là où je coince, c'est la mise à jour en elle-même.
Voici la fonction qui ce situe dans la classe CatalogueProduits :
Et voici la fonction pour le bouton update :
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 Public Sub ProduitsListeUpdate(ByVal produitID As Integer, ByVal PrixHT As Single, ByVal Remarques As String) Dim Cnx As OleDb.OleDbConnection Dim SqlCmd As String Try Cnx = New OleDb.OleDbConnection(ConnString) SqlCmd = "UPDATE CatalogueProduits SET prixht=@prixht, remarques=@remarques WHERE produitID=@produitID" Dim Cmd As New OleDb.OleDbCommand(SqlCmd, Cnx) Cmd.Parameters.Add("@prixht", OleDb.OleDbType.Single).Value = PrixHT Cmd.Parameters.Add("@remarques", OleDb.OleDbType.BSTR).Value = Remarques Cmd.Parameters.Add("@produitID", OleDb.OleDbType.Integer).Value = produitID Cnx.Open() Cmd.ExecuteNonQuery() Cmd.Dispose() Cnx.Close() Catch ex As Exception Debug.Write(ex.Message) Debug.Write(ex.StackTrace) End Try End Sub
Quelqu'un pourrait-il m'expliquer ce qui ne fonctionne pas ? Je n'ai aucun message d'erreur quand je veux faire une mise à jour mais les modif ne sont pas prises en compte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Grid_Update(ByVal Sender As Object, ByVal e As DataGridCommandEventArgs) Dim produitID As Integer Dim PrixHT As Single Dim Remarques As String Dim ObjDa As New AccesDonnees.CatalogueProduits produitID = Me.dgGrille.DataKeys(e.Item.ItemIndex) PrixHT = Integer.Parse(CType(e.Item.FindControl("txtPrixHT"), TextBox).Text) Remarques = CType(e.Item.FindControl("txtRemarques"), TextBox).Text ObjDa.ProduitsListeUpdate(produitID, PrixHT, Remarques) Me.dgGrille.EditItemIndex = -1 Me.dgGrille.DataBind() End Sub
J'ai en plus un autre problème : lorsque je quitte mon appli asp.net, ma base Access est en lecteur seule (elle ne l'était pas avant)
Une idéeplease, je suis perdu
Merci
PS : Je suis totalement débutant en .NET et je travaille sous VS.NET
Partager