amstyles
Goto Top

Spalten Definitionen auslesen Access 2003 2007

Guten Tag,

ich lese eine Access Datenbank mittels OleDB in C# ein.
Um an die Daten der Spalte ranzukommen benutze ich den OleDbDataReader ( GetSchemaTable)
Damit bekomme ich schon recht viele Daten der Spalte ( Spaltenname, Feldgröße, Datentyp... usw.)
Nun meine Frage: Mit der Methode finde ich nicht die angaben wie Default Wert, oder NotNull,
wie komme ich bei einer Access Datenbank an diese Daten heran?

LG,
AMStyles

Programmiersprache: C#
Datenbank: Access 2003/ 2007

Content-Key: 184385

Url: https://administrator.de/contentid/184385

Printed on: April 19, 2024 at 17:04 o'clock

Member: Biber
Biber May 04, 2012 at 17:11:31 (UTC)
Goto Top
Moin AMStyles,

ich denke, du würdest eher mit der Methode GetOleDBSchemaTable zum Ziel kommen.

Dazu gibt es unter dem Link dieses Out-of-the-box-Beispiel.

static DataTable GetSchemaTable(string connectionString)
{
    using (OleDbConnection connection = new 
               OleDbConnection(connectionString))
    {
        connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object { null, null, null, "TABLE" });  
        return schemaTable;
    }
}

Und mit einem schemaTable.Select() solltest du auch auf die DataColumn-Collection kommen und dort letztendlich auf das Properties AllowDBNull und DefaultValue für die gesuchten Eigenschaften.

Grüße
Biber