Pertanyaan Cara menambahkan satu DataTable ke DataTable lain


Saya ingin menambahkan satu DataTable ke DataTable lain. Saya melihat kelas DataTable memiliki dua metode; "Load (IDataReader)" dan "Merge (DataTable)". Dari dokumentasi, keduanya muncul untuk 'menggabungkan' data yang masuk dengan DataTable yang ada jika baris ada. Saya akan melakukan penggabungan dalam lapisan akses data.

Saya bisa dapat menggunakan IDataReader dan menggunakan metode Load untuk menggabungkan DataTable. Atau saya bisa memuat DataSet menggunakan IDataReader, dapatkan DataTable dari DataSet, dan kemudian gunakan metode Merge untuk menggabungkan DataTable.

Saya bertanya-tanya apakah seseorang dapat memberi tahu saya metode mana yang tepat untuk digunakan?

Atau, beri tahu saya jika Anda memiliki saran yang berbeda tentang cara menyelesaikan tugas ini.


33
2018-05-13 14:45


asal


Jawaban:


Gabung mengambil DataTable, Muat membutuhkan IDataReader - jadi tergantung pada apa lapisan data Anda memberi Anda akses ke, gunakan metode yang diperlukan. Pemahaman saya adalah bahwa Beban akan memanggil Merge secara internal, tetapi tidak 100% yakin tentang itu.

Jika Anda memiliki dua DataTable, gunakan Gabung.


43
2018-05-13 14:57



Jenis data dalam nama kolom yang sama harus sama.

dataTable1.Merge(dataTable2);

Setelah itu hasilnya adalah:

dataTable1 = dataTable1 + dataTable2


45
2018-05-17 20:42



Anda bisa membiarkan Anda DataAdapter lakukan pekerjaan. DataAdapter.Fill(DataTable) akan menambahkan baris baru Anda ke baris yang ada di DataTable.


17
2018-05-13 23:35



Tambahkan dua set data yang berisi data, sekarang akan digabung sesuai kebutuhan

DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();

DataTable dt1 = new DataTable();
dt1.Columns.Add(new DataColumn("Column1", typeof(System.String)));

DataRow newSelRow1 = dt1.NewRow();
newSelRow1["Column1"] = "Select";
dt1.Rows.Add(newSelRow1);

DataTable dt2 = new DataTable();
dt2.Columns.Add(new DataColumn("Column1", typeof(System.String)));

DataRow newSelRow2 = dt1.NewRow();
newSelRow2["Column1"] = "DataRow1Data";  // Data
dt2.Rows.Add(newSelRow2);

ds1.Tables.Add(dt1);
ds2.Tables.Add(dt2);

ds1.Tables[0].Merge(ds2.Tables[0]);

Sekarang ds1 akan memiliki data yang digabungkan


5
2017-09-22 15:55