在程式設計中處理資料時,可能需要操作 DataTable 中列的資料類型。本文將討論如何修改 DataColumn 的資料類型,特別是從 Double 到 Int32。
考慮以下範例,其中 DataTable 從資料庫查詢中填入資料:
<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>
資料載入到 DataTable 後,第一列 column
的 DataType 為 Double。目標是將此資料類型變更為 Int32。
但是,需要注意的是,一旦 DataTable 填充了數據,就無法直接更改 DataColumn 的 DataType。修改必須採用其他方法,如下所示:
解:
實作所需資料類型轉換的一種方法是複製現有的 DataTable 並修改複製表中的資料類型。這可以使用以下步驟完成:
<code>DataTable dtCloned = dt.Clone(); dtCloned.Columns[0].DataType = typeof(Int32); foreach (DataRow row in dt.Rows) { dtCloned.ImportRow(row); }</code>
在此程式碼中,dtCloned
變數表示克隆的 DataTable,其第一列的資料類型已修改。然後將原始 DataTable 中的資料匯入到克隆表中,確保在流程中保留值。此方法允許在保持資料完整性的同時修改 DataColumn 的資料類型。
以上是如何將 DataTable 中 DataColumn 的資料類型從 Double 變更為 Int32?的詳細內容。更多資訊請關注PHP中文網其他相關文章!