none
Ajouter une containte Unique sur une ou plusieurs colonnes RRS feed

  • Discussion générale

  • Lorsque nous voulons créer une contrainte unique, nous avons la possibilité de le faire sur une ou plusieurs colonnes. Comme vous allez pouvoir le constater dans les exemples qui vont suivre, la déclaration d'une contrainte unique ressemble fortement à celle de la clé primaire.

    Dim MaTable As DataTable = MonDataSet.Tables.Add("Personnes")
    With MaTable
    .Columns.Add("Id")
    .Columns.Add("Manager")
    .Constraints.Add("ColonneUnique", .Columns("Id"), False)
    .Columns.Add("Nom")
    .Columns.Add("Salaire")
    End With


    Nous utilisons False pour différencier cette contrainte d'une contrainte de clé primaire qui prendrait True en argument.

    Si nous voulons créer une contrainte Unique sur plusieurs colonnes, il est possible de créer un collection de DataColumn que nous passerons en argument de notre méthode Add.

    With MaTable

    .Columns.Add("Id")
    .Columns.Add("Manager")
    Dim MesColonnesUniques As DataColumn() = New DataColumn() {.Columns("Id"), .Columns("Manager")}
    .Constraints.Add("ColonnesUniques", MesColonnesUniques, False)
    .Columns.Add("Nom")
    .Columns.Add("Salaire")
    End With

    Remarque : Vous pouvez utiliser l'objet UniqueContraint pour créer une contrainte Unique mais vous ne pourrez pas la nommer comme nous l'avons fait dans nos exemples. (Au choix)
    samedi 9 septembre 2006 20:04