Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - SQL-Befehl
Vitalic - Mo 04.10.10 11:28
Titel: SQL-Befehl
Hallo,
ich versuche momentan einen SQL Befehl zu programmieren, jedoch klappt das nicht so wie ich es möchte.
Im Anhang könnt ihr mein Diagramm sehen.
Nun möchte ich mit einem Befehl die Tabelle History füllen,, jedoch komme ich da einfach nicht weiter und bin mir nicht sicher, ob das so geht.
Ich habe davor die Tabellen einzeln gefüllt und mit IDs gearbeitet, jedoch ist das sehr aufwendig.
Also wie muss ich vorgehen.
INSERT INTO History VALUES...?
Gruß, Vitalic
Vitalic - Mo 04.10.10 15:49
Hallo Th69,
genau so habe ich das davor gemacht.
Aber wie kann ich das alles in einem Befehl machen?
Also du hast ja beim Insert direkt die IDs eingegeben "VALUES (4711, 1234, 42, ...)"
Kann man das auch so machen?
INSERT INTO History (History_ID, Device_ID, Position_ID, Time, Date, ...)
VALUES (INSERT INTO..., INSERT INTO...,INSERT INTO..., ...)
Gruß, Vitali
bakachan - Mo 04.10.10 15:58
Was spricht denn dagegen deine Objekte (ich nehme einfach mal an du hast irgendeine Auflistung die du in die Tabelle einfügen willst) in einer Schleife zu durchlaufen und den jeweiligen Insert auszuführen?
Th69 - Mo 04.10.10 16:13
Anstatt die SQL-Befehle von Hand zu generieren, könntest du auch mit dem Visual Studio ein "DataSet" anlegen ("Add/New Item/Data/DataSet -> dataset.xsd). Mit dem entsprechenden Assistenten kannst du dann die Tabellen (aus deiner Datenquelle) importieren und über DataTableAdapter dann die generierten Methoden aufrufen, so daß du nur die Parameter übergeben brauchst.
Du mußt jedoch Tabelle für Tabelle durchgehen, d.h. erst die verknüpften Tabellen (z.B. Position oder Device), und dann erst zum Schluß deine Haupttabelle "History" (falls du wirklich in alle Tabellen einen oder mehrere neue Datensätze eintragen willst).
Das einfachste für die IDs wäre, wenn diese als "AutoIncrement" in der Datenbank definiert sind, so daß du dich nicht selber um die IDs kümmern mußt (je nach Datenbank, funktioniert dies jedoch unterschiedlich).
Welche DB verwendest du denn?
Vitalic - Mo 04.10.10 16:44
Danke für die Antwort
@ Th69
Ich verwende SQL Server 2008
Ich versuche mal das mit dem DataSet.
@ bakachan
Ja ich habe eine Schleife und alle notwendigen Attribute, welche ich jetzt speichern möchte.
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!