Bonjour ,

J'utilise la commande Fillschema d'un OleDbDataAdapter pour récupérer le schéma d'une table Access, dans cette table j'ai des champ de type unique (index sans doublons) , après appel à fillschema , lorsque je consulte la propriété Unique de la DataColumn je la trouve à False. pour la propriété AutoIncrement il n'y a pas de problème.

Est-ce que qq un a une piste ?


Voici une portion de mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 string StrCnx = "Data Source=D:\\c#projects\\BDD\\Animaux.accdb;" +
                 "Provider=Microsoft.ACE.OLEDB.12.0"; // "Provider=Microsoft.Jet.OLEDB.4.0";
            using (OleDbConnection dbCnx = new OleDbConnection(StrCnx))
            {
                OleDbCommand dbCmd = new OleDbCommand("Select* from Animals", dbCnx);
                OleDbDataAdapter dbAdap = new OleDbDataAdapter(dbCmd);
 
                DataSet dsAnimaux = new DataSet();
                DataTable tbAnimals = null; 
                dbAdap.FillSchema(dsAnimaux, SchemaType.Source, "Animals");
                tbAnimals = dsAnimaux.Tables["Animals"];
 
foreach (DataColumn dc in tbAnimals .Columns)
            {
                Console.WriteLine(dc.ColumnName + " : AllowDBNull = " + dc.AllowDBNull);
                Console.WriteLine(dc.ColumnName + " : AutoIncrement = " + dc.AutoIncrement);
                Console.WriteLine(dc.ColumnName + " : Unique = " + dc.Unique);
                Console.WriteLine(dc.ColumnName + " : MaxLength = " + dc.MaxLength);
            }