Tukar jenis data DataColumn dalam DataTable
Apabila bekerja dengan data dalam Jadual Data, anda mungkin menghadapi situasi di mana anda perlu mengubah suai jenis data lajur tertentu untuk menampung format data yang berbeza.
Pertimbangkan senario berikut: Jadual Data diisi dengan data daripada jadual SQL dan lajur pertama, yang asalnya ditakrifkan sebagai jenis data 'Double', perlu ditukar kepada 'Int32'.
Coretan kod:
<code class="language-csharp">DataTable dt = new DataTable(); using (SqlConnection conn = new SqlConnection(...)) { using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM " + tableName, conn)) { adapter.FillSchema(dt, SchemaType.Source); adapter.Fill(dt); } }</code>
Penyelesaian:
Secara lalai, DataTable tidak membenarkan mengubah suai jenis data lajur selepas mengisinya dengan data. Walau bagaimanapun, terdapat penyelesaian untuk mengklonkan Jadual Data dan mengubah suai jenis data lajur. Lajur yang diubah suai kemudiannya boleh diisi semula dengan data daripada jadual asal.
Coretan kod:
<code class="language-csharp">// 创建一个具有所需列数据类型的克隆 DataTable DataTable dtCloned = dt.Clone(); dtCloned.Columns[0].DataType = typeof(Int32); // 使用原始表中的数据填充克隆表 foreach (DataRow row in dt.Rows) { dtCloned.ImportRow(row); }</code>
Dengan pendekatan ini, anda boleh menukar jenis data lajur dengan berkesan walaupun selepas mengisi Jadual Data dengan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Jenis Data Lajur Jadual Data Selepas Data Diisi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!