在 DataTable 中更改 DataColumn 資料類型
在使用 DataTable 中的資料時,您可能會遇到需要修改特定列的資料類型以適應不同資料格式的情況。
考慮以下情況:DataTable 從 SQL 表中填入數據,最初定義為「Double」資料類型的第一列需要轉換為「Int32」。
程式碼片段:
<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>
解:
預設情況下,DataTable 不允許在用資料填充列後修改其資料類型。但是,有一種變通方法可以克隆 DataTable 並修改列的資料類型。然後,可以使用原始表中的資料重新填入修改後的列。
程式碼片段:
<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>
透過這種方法,即使在用資料填充 DataTable 後,您也可以有效地更改列的資料類型。
以上是填充資料後如何更改資料表列的資料類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!