Laden...

Mehrere Datensätze mittels SqlParameter in DB einfügen

Erstellt von flo85 vor 14 Jahren Letzter Beitrag vor 14 Jahren 819 Views
F
flo85 Themenstarter:in
5 Beiträge seit 2007
vor 14 Jahren
Mehrere Datensätze mittels SqlParameter in DB einfügen

Hallo,

ich habe mir den Artikel Parameter von SQL Befehlen durchgelesen und würde das nun gerne nutzen, da ich es gleich von Anfang an richtig machen will (bin Anfänger 😁 ).

Nun stellt sich mir folgende Frage: Wie erzeugt ihr z.B. folgende SQL-Anfrage?


INSERT INTO laender (name, hauptstadt) VALUES
 ('Madagaskar', 'Antananarivo'), ('Brunei', 'Bandar Seri Begawan');

Also wenn man mehrere Datensätzen eingetragen weden soll, aber nich vorher klar ist wieviele.

Vielen Dank im Voraus!

U
105 Beiträge seit 2004
vor 14 Jahren

Vielleicht hilft der Suchbegriff Bulk Insert.

J
3.331 Beiträge seit 2006
vor 14 Jahren

Hallo,

wenn es manuell im Code gehen soll, dann nach dem Muster, das im 4. Beitrag der Artikelserie unter Wiederholte Verwendung der gleichen Parameter steht.

Gruß Jürgen

F
flo85 Themenstarter:in
5 Beiträge seit 2007
vor 14 Jahren

Ersteinmal Danke für eure Antworten.

Dies ist der Code aus dem von juetho angesprochenen Abschnitt:


DbCommand cmd = new DbCommand(commandString);
cmd.Parameters.Add("@Vorname", DbType.VarChar, 35);

//  DbConnection öffnen, DbTransaction starten
foreach(string current in CurrentStrings) {
   cmd.Parameters["@Vorname"].Value = current;
   cmd.ExecuteNonQuery();
}

//  DbTransaction abschließen

Das bedeutet doch nun, dass ich meine INSERT-Anweisung in mehrer "kleinere" Anweisungen aufteile, und diese an die DB sende. Ist das dann sauber? Insbesondere wenn man viel Datensätze eintragen möchte, wäre es da nicht besser alle in eine Anfrage zu haben, oder macht es kein unterschied bezogen auf die Performance?