Viele Datensätze updaten

24/04/2008 - 10:50 von Manfred.Klag | Report spam
Hallo Members,
ich bitte euch um Hilfe zur Lösung folgenden Problems:
Ich lese aus einer Exceltabelle 3 Spalten/300 Zeilen mit Werten aus.
Jede Zeile repràsentiert einen Datensatz, der in meiner SQL2005-Db vorhanden
ist.
Die Datensàtze in der DB müssen mit dem Inhalt einer Spalte/Zeile
aktualisert werden.
Ich hatte versucht für jeden Datensatz mit den Werten mit einem Update in
einer For-Schleife zu aktualiseren.
Dies funktioniert auch, dauert aber extrem lange.
Ich baue mir in der Schleife die Updatenweisung zusammen und setze dann das
SQL-Statement ab.
Gibt es da eine 'komfortablere' Möglichkeit?
Im Voraus schon schönen Dank
Manfred
 

Lesen sie die antworten

#1 Tseng S.
24/04/2008 - 13:16 | Warnen spam
"Manfred.Klag" schrieb im
Newsbeitrag news:
Hallo Members,
ich bitte euch um Hilfe zur Lösung folgenden Problems:
Ich lese aus einer Exceltabelle 3 Spalten/300 Zeilen mit Werten aus.
Jede Zeile repràsentiert einen Datensatz, der in meiner SQL2005-Db
vorhanden
ist.
Die Datensàtze in der DB müssen mit dem Inhalt einer Spalte/Zeile
aktualisert werden.
Ich hatte versucht für jeden Datensatz mit den Werten mit einem Update in
einer For-Schleife zu aktualiseren.
Dies funktioniert auch, dauert aber extrem lange.
Ich baue mir in der Schleife die Updatenweisung zusammen und setze dann
das
SQL-Statement ab.
Gibt es da eine 'komfortablere' Möglichkeit?
Im Voraus schon schönen Dank
Manfred



Du könntest ein DataSet benutzen. Holst dir dann entweder das Tabellen
Schemata runter und füllst dann die Tabelle mit Werten (wenn werte eingefügt
werden sollen) oder ladest alle Datenstàze der SQL Tabelle in das DataSet,
trennst die Verbindung und arbeitest dann mit dem DataSet. Wenn fertig bist,
Verbindung zum SQL Server wieder öffnen und das DataSet updaten. Das
vergleicht dann die geànderten Datensàtze und updatet die auf einem Schlag.

Muss leider gleich weg, kann daher kein Beispiel schreiben. Vielleicht
nacher was, wenn zurück bin

Tseng

Ähnliche fragen