Apabila memproses data dalam pengaturcaraan, anda mungkin perlu memanipulasi jenis data lajur dalam Jadual Data. Artikel ini membincangkan cara mengubah suai jenis data DataColumn, khususnya daripada Double kepada Int32.
Pertimbangkan contoh berikut di mana Jadual Data diisi dengan data daripada pertanyaan pangkalan data:
<code>DataTable Table = new DataTable(); SqlConnection = new System.Data.SqlClient.SqlConnection("Data Source=" + ServerName + ";Initial Catalog=" + DatabaseName + ";Integrated Security=SSPI; Connect Timeout=120"); SqlDataAdapter adapter = new SqlDataAdapter("Select * from " + TableName, Connection); adapter.FillSchema(Table, SchemaType.Source); adapter.Fill(Table); DataColumn column = DataTable.Columns[0];</code>
Selepas data dimuatkan ke dalam Jadual Data, Jenis Data bagi lajur pertama column
ialah Berganda. Matlamatnya adalah untuk menukar jenis data ini kepada Int32.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa setelah DataTable diisi dengan data, anda tidak boleh terus menukar DataType DataColumn. Pengubahsuaian mesti dibuat dengan kaedah lain, seperti berikut:
Penyelesaian:
Salah satu cara untuk mencapai penukaran jenis data yang diingini ialah mengklonkan Jadual Data sedia ada dan mengubah suai jenis data dalam jadual klon. Ini boleh dilakukan menggunakan langkah berikut:
<code>DataTable dtCloned = dt.Clone(); dtCloned.Columns[0].DataType = typeof(Int32); foreach (DataRow row in dt.Rows) { dtCloned.ImportRow(row); }</code>
Dalam kod ini, pembolehubah dtCloned
mewakili Jadual Data yang diklon dengan jenis data lajur pertama diubah suai. Data daripada DataTable asal kemudiannya diimport ke dalam jadual klon, memastikan bahawa nilai-nilai itu dipelihara dalam proses. Kaedah ini membolehkan jenis data DataColumn diubah suai sambil mengekalkan integriti data.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Jenis Data DataColumn daripada Double kepada Int32 dalam Jadual Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!