全般的な情報交換 Ajouter une contrainte clé primaire

  • samedi 9 septembre 2006 20:12
     
     
    Nous avons vu dans un autre sujet comment créer une clé primaire en utilisant la propriété PrimaryKey d'un objet DataTable. Maintenant nous allons voir comment créer une contrainte de clé primaire :

    Dim MonDataSet As New DataSet
    Dim MaTable As DataTable = MonDataSet.Tables.Add("Personnes")
    With MaTable
       .Columns.Add("Id")
       .Constraints.Add("ClePrimaire", .Columns("Id"), True)
       .Columns.Add("Nom")
       .Columns.Add("Salaire")
    End With

    Dim Enregistrement As DataRow = MaTable.NewRow
    Enregistrement("Nom") = "Gates"
    Enregistrement("Salaire") = 80000
    MaTable.Rows.Add(Enregistrement)


    ".Constraints.Add("ClePrimaire", .Columns("Id"), True)"
    Le troisième argument de cette méthode est comme vous pouvez le constater un booleen. Il permet de signaler si cette contrainte est une contrainte de clé primaire (True) ou Unique (False)

    A true, si vous dupliquez l'instruction MaTable.Rows.Add(Enregistrement) vous leverez l'exception : NoNullAllowedException
    C'est un comportement normal car une contrainte de clé primaire oblige le champ à être renseigné.

    En revanche, à false (contrainte unique), vous ne leverez aucune exception car cette contrainte accepte les nulls.