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-ID: 184385

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

Ausgedruckt am: 26.11.2024 um 00:11 Uhr

Biber
Biber 04.05.2012 um 19:11:31 Uhr
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