none
L'argument 'column' ne peut pas être null. Nom du paramètre : column RRS feed

  • Question

  •  

    Salue

     

      Je travaille sur une application maitre/détails en VB.NET , j'ai une Form dans laquelle j'ai placé un Combobox et une Datagridview , j'ai deux tables "Catégories" et "Produits"

    Catégories(categID,Nomcateg,....) la clé primaire est : categID

    Produits(prodID, Nomprod,....,categID) la clé étrangère est categID

    je veux en sélectionnant une catégorie dans le Combobox , les enregistrements des produits appartenant à la catégorie sélectionnée s'affichent dans le Datagridview

    j'ai écrit le code suivant :

    Imports System.Data
    Imports System.Data.OleDb


    Public Class Form1
        Dim constr As String = "Provider=Microsoft.Jet.Oledb.4.0;" & "Data Source=" & Application.StartupPath & "\notes.mdb"
        Dim con As New OleDbConnection(constr)
        Dim ds As New DataSet

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim da1 As New OleDbDataAdapter("select categID from Catégories", con)
            Dim da2 As New OleDbDataAdapter("select prodID,nomProd,prixUnit,qtite from Produits", con)
            da1.Fill(ds, "Catégories")
            da2.Fill(ds, "Produits")
            Dim r As New DataRelation("Categ_Prod", ds.Tables("Catégories").Columns("categID"), ds.Tables("Produits").Columns("categID"))
            ds.Relations.Add(r)

            With cbo
                .DataSource = ds
                .DisplayMember = "categID"
                .ValueMember = "categID"

            End With

            With dgv
                .DataSource = ds
                .DataMember = "Categ_Prod"

            End With

        End Sub
    End Class

     

    En compilant le programme j'ai reçu cette ERREUR : "L'argument 'column' ne peut pas être null. Nom du paramètre : column"

     

    Je n'ai pas réussi à trouvé la solution à ce problème Merci beaucoup

    jeudi 1 septembre 2011 00:11

Réponses

  • Es-ce que l'erreur point sur une ligne en particulier? J'ai l'impression que ds.Tables("Catégories").Columns("categID") retourne null, donc qu'il n'y a aucune colonnes qui se nomme categID.

    Insérer un point d'arrêt(breakpoint) et inspecter les valeurs de vos éléments.


    Microsoft MVP C# || gabrielmongeon.com || LinkedIn
    jeudi 1 septembre 2011 01:42
    Modérateur

Toutes les réponses