Bonjour,
Je suis en train de regarder comment recoder mes connexions à la base de données sans passer par le dataset typé.
J'ai un pb pour ajouter de nouveaux enregistrements à une table.

Avant j'avais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
                Dim dr As DataRow = Nothing
                Dim dt As DataTable = MyDataSetTypé.dt2_References 'où dt2 est la datatable associée à ma table Références
                dr = dt.NewRow
                'ici le code pour remplir dr
                'ci-dessous le code pour mettre à jour ma bdd
                dt.Rows.Add(dr)
                Me.ta_References.Update(dt)
Voici ma traduction sans le datasettypé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
                Dim dr As DataRow = Nothing
                Dim dt As DataTable = MyDataSet.Tables("dt2_References")
                dr = dt.NewRow
                'ici le code pour remplir dr
                'ci-dessous le code pour mettre à jour ma bdd
                dt.Rows.Add(dr)
                cmd = New SQLiteCommand(sql_References, con)
                ad = New SQLiteDataAdapter(cmd)
                Dim oCommandBuilder As New SQLiteCommandBuilder(ad)
                ad.Update(MyDataSet, "dt2_References")
En fait, je coince sur le dt.Rows.Add(dr)
L'erreur est que le champ N_ref qui est la clé primaire dans la table Références dans la BdD est qui est un compteur auto-incrémenté n'accepte pas de valeur nulle. Ce qui est logique.
Mais dans le premier code, l'instruction dt.Rows.Add(dr) générait automatiquement l'incrémentation de ce compteur.
Visiblement ce n'est pas le cas dans le second code.
Comment faut-il faire ?