Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 06.11.12 12:06 
Hallo...

habe mal eine frage, ist es Möglich eine Tabelle in einer Datenbank mit zwei verschiedenen Optionen zu füllen?

Also ich habe eine Tabelle in der Datenbank, die möchte ich so füllen:
Ein teil der Daten kommen aus einer Excel Datei und der andere Teil kommt aus einer Sql-Tabelle. Ich speichere zunächst den Inhalt der Excel-Zellen in einzelne Variablen ab(Datensatz für Datensatz) , die kann ich dann später so benutzen: cmd.Parameters.AddWithValue("@spalte1", Datum); doch in die Ausgangstabelle sollen ja auch Daten aus einer SQL-Tabelle hinzugefügt werden und deren inhalte speichere ich nicht seperat in Variablen ab (oder sollte ich dies lieber tun, damit das einfacher ist mit dem hinzufügen ?). Ist es nun möglich die beiden Wege miteinander zuverknüpfen?

Also sowas wie
ausblenden C#-Quelltext
1:
2:
3:
cmd.CommandText = "INSERT INTO Tabelle1";
cmd.CommandText += "(Spalte1, Spalte2, Spalte3, Spalte4)";
cmd.CommandText += "VALUES (@Datum, @Sql-Tabelle-Spalte1, @Betrag, @Sql-Tabelle-Spalte3)";


Ist soetwas überhaupt möglich?
Oder ratet ihr mir leiber, dass ich auch den Inhalt der SQL-Tabelle in Variablen speichern soll?

LG

Edit 11.41:
Also sowas ist glaub ich nicht möglich... Habe die oben programmierte Insert into-Anweisung umgeschrieben, und wenn ich ich auch noch zwei sahcne mit einander joinen will ist das nicht möglich -.-

Muss dann doch die Sql-Tabelle auch in Variablen festhalten.

Oder gibt es noch eine andere Lösung?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 06.11.12 14:29 
Hallo Vegeto,

das ist jetzt aber kein spezifisches Problem für den Datenbankzugriff, sondern allgemein, wenn du Daten zusammenführen willst, so mußt du diese halt irgendwo gespeichert haben und Zugriff darauf geben.
In deinem konkreten Fall also mußt du somit Zugriff auf die SQL-Tabelle gewähren.
Wichtiger ist jedoch, wie der Zusammenhang zwischen deiner Ausgabetabelle "Tabelle1" und der zu lesenden "SQL-Tabelle" aussieht und du dementsprechend die Daten speichern solltest (z.B. über ein Dictionary<Key, value>).
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 06.11.12 15:14 
Hallo Th69

Also ich habe eine Verbindung zur Tabelle und natürlich habe ich eine Verbindung zur Excel Datei.
Weiß aber nicht wie ich beide zusammenführen kann.

Da dachte ich mir ich speichere die Datensätze aus der SQL-Tabellen in variablen ab.
Das ist kein problem, doch mir ist aufgefallen, dass er mit dieser Technik(SqlReader) nur 149 Datensätze speichert.
->wie ich das heraus gefunden habe, ich habe den selben Code in eine Konsolenanwendung geschrieben und dort hat er mir in der Konsole nur 149 Datensätze angezeigt, von rund 1150 Datensätzen. <<--- Warum ist das so? Hat die Konsole ein Maximal anzeigewert?

So nun weiß ich nicht wie ich beide zusammen führen kann.

Wenn jemand meinen Code benötigt, einfach bescheid geben, ist ein sehr langer code xD müsste ich dann anpassen :)

Lg