Pour gérer la liste des produits, j'ai créé une base de données SQL Server, à partir de visual basic.
Je crois que la base existe bien car VB 2005 affiche (dans la fenêtre sources de données de l'éditeur) le fichier .mdf de la base de données.
Je me suis demandé à un moment si je n'avais pas créé uniquement un dataSet, mais je ne crois pas.
A un moment dans le programme, je mets une dataTable à jour. Et c'est là que se pose le problème: le code s'exécute sans erreur apparente, mais quand j'appelle la fenêtre concepteur de dataSet, et que je demande un aperçu des données de la table concernée, la modification n'est pas prise en compte.
Voici d'autres éléments qui peuvent vous aider à faire un diagnostic:
1 2 3 4 5 6 7 8 9
|
Dim rowPdt As _010_Bdd_relationsDataSet.ProduitRow
rowPdt = DTPdt.NewProduitRow()
rowPdt.NomC = lsbCat.SelectedItem
rowPdt.NomP = pdtPar
rowPdt.Qté = 0
rowPdt.TxtQté = pdtTxtPar
DTPdt.AddProduitRow(rowPdt)
ReqPdt.Update(DTPdt) |
explication:
je créé une nouvelle ligne de l'instance (de table) DTPdt, je la remplis,puis je l'ajoute à DTPdt; enfin je valide les changements pour qu'ils soient pris en compte dans la base de données.
(ReqPdt est une instance de DataAdapter liée à la table Produit)
Lors de ces lignes, la propriété rowState de la nouvelle ligne rowPdt passe de detached à added (modification prise en compte dans la table) puis à detached (modification enregistrée dans la base de données), et le nombre de lignes de DTPdt augmente bien de 1.
Tout semble se passer normalement. Mais si je relance le programme, je vois que le nouveau produit n'apparaît pas; de même, comme je vous l'ai dit précédemment, en interrogeant la base de données à partir de VB, la nouvelle ligne n'apparaît pas.
Alors, la base de données est ou n'est pas modifiée?
Partager