Erstellen von Tabellen

14/10/2007 - 01:53 von Karl m: | Report spam
Hallo NG!

Wie kann ich am besten Tabellen in einer Datenbank erstellen (Access)? Ist
es besser (wenn möglich) sie über das DataSet zu erstellen (wenn ja, wie?)
oder direkt über einen SQL-Befehl, den man letztlich über ExecuteNonQuery
ausführt?

Mit freundlichen Grüßen
 

Lesen sie die antworten

#1 Frank Dzaebel
14/10/2007 - 08:53 | Warnen spam
Hallo Karl,

Wie kann ich am besten Tabellen in einer Datenbank erstellen (Access)? Ist
es besser (wenn möglich) sie über das DataSet zu erstellen (wenn ja, wie?)
oder direkt über einen SQL-Befehl, den man letztlich über ExecuteNonQuery
ausführt?



Das DataSet selber hat keine direkten Methoden
um eine Access-DB zu erstellen, das muss schon
wie unten o.à. gemacht werden.

Da Du eh schon ADOX eingebunden hast, mal ein
Beispiel darüber und gleich mal für Access 2007:

private void Form1_Load(object sender, EventArgs e)
{
// [Tabelle für Ms Access 2007 anlegen]
// using ADOX; // Verweis hinzufügen s.u.
// z.B. Microsoft ADO Ext. 6.0 for DDL and Security

CatalogClass cat = new CatalogClass();
string appDir = Application.StartupPath;
string dbPath = Path.Combine(appDir, "MeineDB.accdb");

cat.Create("Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + dbPath +
";Jet OLEDB:Engine Type=5");

Table table = new Table(); table.Name = "Person";
table.Columns.Append("Name", DataTypeEnum.
adVarWChar, LenPers.Name);
table.Columns.Append("Alter", DataTypeEnum.
adInteger, LenPers.NotSet);
table.Columns.Append("Einkommen", DataTypeEnum.
adInteger, LenPers.NotSet);
cat.Tables.Append(table);

MessageBox.Show("Datenbank mit Tabelle erfolgreich angelegt.");
}

#region LenPers
/// <summary>Lànge der Spalten in Person</summary>
static class LenPers
{
/// <summary>Es wird der Default-Wert benutzt</summary>
public const int NotSet = 0;

/// <summary>Lànge der Spalte Name</summary>
public const int Name = 50;
}
#endregion

// =
Natürlich geht das auch über "CREATE TABLE ..." nebst
"OleDbCommand.ExecuteNonQuery()".

[Inhalt von dataset in Access Datenbank schreiben]
http://www.tutorials.de/forum/net-d...eiben.html

Falls kein Access installiert ggf. hiermit prüfen:

[Schema Informationen aus Datenbanken ermitteln]
http://dzaebel.net/ShowViewColumn.htm

Geeignetere Newsgroups bzgl. Datenbanken aber hier:

[Datenzugriffs-Links für .NET 2.0]
http://dzaebel.net/DataAccess.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen