2009-05-26 22 views
1

Ich habe eine DataTable mit Werten aus einer Datenbank gefüllt. Ich habe eine andere Datentabelle, die ich erstelle, die die gleichen Spaltennamen von der ersten hat, einige zusätzliche Daten, die ich für das Erstellen einer CSV in der Zeile brauche. Was ich tun möchte, ist, die Daten aus der ersten Tabelle zu nehmen und sie zu verwenden, um die zweite Tabelle zu füllen, dann kann ich später die anderen Daten ausfüllen.Einfügen von Werten in Datatables

Ich weiß, dass ich dies in eine sehr mechanischen Art und Weise tun, durch obwohl Looping, neue Zeilen erstellen und dann Zelle aus der ersten Tabelle für den Zellbevölkern.

Ich bin der Hoffnung, jemand etwas etwas schlankeres weiß.

Jim

Antwort

2

suchen, können Sie die Merge Methode auf dem Datentabelle verwenden. Das einzige, was Sie beachten müssen, ist, dass beide DataTables einen Primärschlüssel haben müssen. Dasjenige, das von der DB kommt, tut es wahrscheinlich schon, aber dasjenige, das du im Speicher bevölkerst, tut es höchstwahrscheinlich nicht.

Sie können ganz einfach den Primärschlüssel wie folgt festgelegt:

table.PrimaryKey = new DataColumn[] { table.Columns[0]}; //or whatever column you want. 
+0

Das habe ich nicht wahr sein finden. Alles, was zu tun hatte, war, die Spaltennamen so zu verbinden, dass sie gleich waren. – jim

+0

Ja, aber wenn Sie zwei Zeilen haben, die in beiden Tabellen identisch sind, mit nur leicht abweichenden Werten, wird anstelle einer Aktualisierung eine Einfügung vorgenommen, und Sie erhalten zwei Zeilen anstelle einer aktualisierten Zeile. – BFree

+0

ok ... guter Punkt ... als ich einen geraden Einsatz machte, ist dieses Problem nicht aufgetreten. – jim

Verwandte Themen