Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - mit SQL eine Tabelle in mdf-Datei erstellen
Habak - Mi 20.07.11 16:11
Titel: mit SQL eine Tabelle in mdf-Datei erstellen
Hallo zusammen,
ich verwende in Visual C# eine Datenbank in Form einer mdf-Datei. In dieser sind bereits mehrere Tabellen gespeichert, auf die ich per Code und SqlDataReader auch problemlos zugreifen kann.
Nun möchte ich per SQLCommand eine neue Tabelle in die Datenbank einfügen, was aber mit nachfolgendem Code nicht klappt; es gibt auch keine Fehlermeldung:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| string connStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Daten.mdf;" + "Integrated Security=True;User Instance=True"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); string SQL = "CREATE TABLE descht (ID Int)"; SqlCommand cmd = new SqlCommand(SQL, conn); SqlTransaction trans; trans = conn.BeginTransaction(); cmd.Transaction = trans; cmd.ExecuteNonQuery(); trans.Commit(); conn.Close(); |
Worin liegt der Fehler.
Schon im voraus vielen Dank für Eure Unterstützung.
Gruß
Habak
Moderiert von
Th69: C#-Tags hinzugefügt
FZelle - Do 11.08.11 14:07
MS hat mit dem AttachDbFile einen ganz schönen BM verzapft, der ständig zu solchen Problemen führt.
Da du die Datei in deiner Solution hast, wird diese bei jedem Debug Lauf ins Projektverzeichnis kopiert und
überschreibt so die von dir geänderte.
Auch benutzt der DatabaseExplorer eine andere Datei als du im Program.
Lass das mit dem AttachDBFile sein, häng die Datenbank vernünftig an einen SQL Server ( Express ) und du wirst dieses Problem nicht mehr haben.
Ach ja, Transactionen können nichts mit DDL anfangen, sind also hier überflüssig.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!