Laden...

Access-Tabelle von C# aus erstellen

Erstellt von Embae vor 19 Jahren Letzter Beitrag vor 19 Jahren 7.250 Views
E
Embae Themenstarter:in
20 Beiträge seit 2004
vor 19 Jahren
Access-Tabelle von C# aus erstellen

Hi,
Ich möchte gerne eine Access Tabelle mit c# erstellen. Ich weiß, wie ich auf bereits bestehende Tabellen zugreifen kann, wie ich diese verändern kann, doch ich finde nicht raus, wie ich eine neue Tabelle in einer bereits vorhanden DB anlege. 🤔 Kann mir irgendjemand helfen? Mir langt ein link oder zwei, drei Zeilen code.

Danke
Embae

E
23 Beiträge seit 2004
vor 19 Jahren

Weiß gar nicht genau, ob das mit ADO.net überhaupt geht. Versuch's doch mal über die ADOX-Library, die mußt du aber erst durch einen Verweis in deinem Projekt hinzufügen. Dort gibt es dann das Catalog-Objekt, dass die Datenbank repräsentiert und ein Table-Objekt, mit dem du neue Tabellen hinzufügen kannst.
Also ungefähr so:


ADOX.Catalog catalog = new ADOX.Catalog();
ADOX.Table table = new ADOX.Table();
ADODB.Connection connection = new ADODB.Connection();

connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; DataSoure=c:\\meineDatenbank.mdb";
connection.Open(null,null,null,0);

catalog.ActiveConnection = connection;

Jetzt gibst du dem Kind noch einen Namen und kümmerst dich um die Spalten:


table.Name = "Kunden";
table.Columns.Append("Nachname", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("Vorname", DataTypeEnum.adVarWChar, 50);

Schließlich mußt du die Tabelle noch deinem Catalog-Objekt zuordnen:


catalog.Tables.Append(table);

Hmm...hoffe das stimmt so!

C
980 Beiträge seit 2003
vor 19 Jahren

Müsste auch mit ADO.NET gehen ... oder akzeptiert das Command Objekt etwa nur SELECT/INSERT/UPDATE/DELETE und keine "CREATE TABLE ..." SQL Statements?

E
Embae Themenstarter:in
20 Beiträge seit 2004
vor 19 Jahren

👍 Habe es mit CREATE TABLE versucht, und es geht... Echt super, danke...
Embae

F
10.010 Beiträge seit 2004
vor 19 Jahren

ADOX wird nur gebraucht, wenn die MDB-Datei noch nicht existiert.