verwendetes Datenbanksystem: mssql 2008
Hallo Leute
ich möchte ein ganzes Dataset mit allen Tabellen leeren und das in der Datenbank speichern
mit
dataset.clear();
tableadapter.Update(Dataset);
funktioniert es nicht
danke und Gruß
Chazon
ich möchte ein ganzes Dataset mit allen Tabellen leeren und das in der Datenbank speichern
Bahnhof?
Was willst du nun, das DataSet leer machen oder es in die DB speichern?
So wie du es machst hat es keinen sinn.
Ich möchte mir ein kleines Tool schreiben in dem ich aus einer mysql Datenbank Daten in eine MSSQL Datenbank konvertiere (einfach ausgedrückt) .
Dabei nutze ich als zwischenschritt eine weitere MSSAL Datenbank. Wenn ich diesen Vorgang erneut starte sind noch alte Daten in dieser Datenbank vorhanden. Diese Daten möchte ich aber dann komplett löschen ohne die STruktur zu löschen.
So ist das vvielleicht besser erklärt.
gruß chazon
Das Leben ist schön!
Danke für die Antwort
SQL: TRUNCATE TABLE [NAME_TABELLE]
Das sollte dir weiter helfen.
So wie ich das sehe geht das aber auch nur auf einzelne Tabellen. Da ich von Natur aus bequem bin, würde ich so etwas gerne in einem STatement erhsclagen, nicht auf 35 Tabellen einzeln anwenden 🤔
EXEC sp_msforeachtable 'TRUNCATE TABLE ?'
Aber vorsicht: Das geht wirklich auf alle Tabellen. Notfalls schreib dir einfach einmal eine SP, die das macht und führe die SP aus.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Hallo Chazon,
mit
dataset.clear();
tableadapter.Update(Dataset);
funktioniert es nicht
Zur Erklärung : ds.Clear() entfernt alle Zeilen aller Tabellen aus einem Dataset. Mit Update() werden keine Löschungen an die Datenbank übertragen. Das Dataset weiss nicht mehr, welche Zeilen gelöscht wurden.
So würde man die Zeilen in den Tabellen im Dataset als gelöscht markieren und die Löschungen per Update() an die Datenbank übertragen :
foreach (DataTable dt in ds.Tables)
foreach(Datarow rw in dt.Rows)
rw.Delete();
da.Update();
Das Löschen der einzelnen Zeilen ist aber sehr langsam, besser löscht man mit 'truncate' oder 'delete from ...'.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Alles klar
Ich denke ich habe den clearbefehl falsch interpretiert.
Danke für die Hilfe
gruß Chazon
Nein, Du hast das System DataSet und damit ADO.NET Falsch verstanden.