Hallo,
da passt so gut wie gar nichts.
Wenn Du die Daten in eine DataTable einliest, so sind die Daten in der Voreinstellung unverändert,
siehe
AcceptChangesDuringFill Eigenschaft. Setze sie auf false, dann gelten die Daten als "neu".
Das Zuweisen einer Referenzvariablen dsTemp = dsStamm; ist sinnfrei.
Du kannst die erzeugte DataTable auch einem anderen DataAdapter zuweisen.
Da man die Daten einfügen will, wäre hier das InsertCommand notwendig,
das UpdateCommand dient zum Aktualisieren bestehender Daten (in tempFullTable) -
was aber auf dem Wege überhaupt nicht möglich wäre.
(Dazu müsstest Du alle Zeilen selbst abgleichen, was den Rahmen dieser Antwort sprengt)
Am Ende ist das Ganze via DataSet und Adapter ohnehin der umständlichste Weg,
da die Daten erst über den Speicher des Client (so er denn überhaupt ausreicht) müssen.
Einfacher ist es den SQL Server seine Arbeit machen zu lassen, dafür wurde er gemacht:
public static void CopyTable()
{
using (var connection = new SqlConnection(DefaultConnectionString))
{
using (var command = new SqlCommand(
"INSERT INTO tempFullTable SELECT * FROM stammArtikel;", connection))
{
connection.Open();
command.ExecuteNonQuery();
}
}
}
Alternativ könntest Du SELECT * INTO tempFullTable FROM
stammArtikel; verwenden,
vorausgesetzt die Tabelle tempFullTable existiert noch nicht, siehe INTO-Klausel
Gruß Elmar