Probléme datagridview + base de donnée

dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013 - 9 mai 2011 à 13:06
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 10 mai 2011 à 08:06
Salut ,
j'ai un petit problème quand je veux ajouter un enregistrement de ma datagridview dans la base de donnée il me donne l'erreur suivante (cannot set column 'num_article'to be null. please use dbnull instead. voila mon code :
 
     
        Dim row As New DataGridViewRow
        For Each row In Me.DataGridView1.Rows
  Dim dr As DataRow = ds.Tables("article").NewRow
            dr("num_article") = row.Cells(0).Value
            dr("designation") = row.Cells(1).Value
            dr("unite") = row.Cells(2).Value
            dr("qte") = row.Cells(3).Value
            dr("pu") = row.Cells(4).Value
            dr("num_contrat") = numcontrat.Text
            ds.Tables("article").Rows.Add(dr)
            Dim Cbuilder As New SqlCommandBuilder(da)
            Dim s As String = Cbuilder.GetInsertCommand.CommandText
            da.Update(ds.Tables("article").Select("", "", DataViewRowState.Added))
        Next row

Merci d'avance.

12 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 mai 2011 à 14:49
Bonjour,

Tout simplement parce que la valeur que tu essaies d'assigner à num_article, c'est à dire le contenu de row.Cells(0).Value est nulle.

Dans la définition de ta table, donne-lui une valeur par défaut ou fais lui accepter les valeurs nulles.


Calade
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
9 mai 2011 à 15:19
Et comment je peux lui faire accepter les valeurs nulles?
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 mai 2011 à 15:30
Si tu as les droits d'admin sur ta base de données, il faut que tu ailles dans la définition de ta table. Tu as une colonne "Null Accepté".

Sinon tu demandes à ton administrateur de le faire pour toi.

Calade
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
9 mai 2011 à 15:50
La colonne 'num_article' est une clés primaire de la table article donc il ne peut pas accepter les valeurs null
et en plus j'ajoute pas de valeur null a cette colonne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 mai 2011 à 16:00
Dans ce cas, effectivement une valeur Null n'est pas acceptée.

Mets un point d'arrêt sur la ligne
dr("num_article") = row.Cells(0).Value

et vérifier la valeur de ta cellule, elle devrait être nulle.


Calade
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
9 mai 2011 à 16:06
j'ai fais ce que tu viens de me dire , elle n'est pas nulle
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 mai 2011 à 16:10
Comment as-tu vérifié, fais un
debug.print row.Cells(0).Value quand tu es sur cette ligne.


Calade
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
9 mai 2011 à 16:24
J'ai fais
debug.print(dr(0)=row.cells(0).value )
Il a marqué ce message : operator'=' is not defined for type 'dbnull' and string "55"
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
9 mai 2011 à 16:39
C'est pas ça que je t'avais dit, mais je n'ai peut-être pas été assez clair.

Une fois sur le point d'arret, va dans le panneau exécution (si tu ne l'a pas, Menu Affiche/Panneau d'exécution)

et tapes ? row.Cells(0).Value (sans rien ajouter d'autre.

Ceci dit ton message laisserait entendre que ta cellule est bel et bien nulle !


Calade
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
9 mai 2011 à 16:52
je trouve pas panneau d’exécution
de quel menu tu parle ?
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
9 mai 2011 à 16:54
je trouve pas panneau d'exécution
de quel menu tu parle ?
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
10 mai 2011 à 08:06
Menu Affichage/Fenêtre d'Exécution ou CTRL + G en raccourci.


Calade
0
Rejoignez-nous