首頁 >後端開發 >C++ >如何將 DataTable 中 DataColumn 的資料類型從 Double 變更為 Int32?

如何將 DataTable 中 DataColumn 的資料類型從 Double 變更為 Int32?

Susan Sarandon
Susan Sarandon原創
2025-01-14 11:51:16375瀏覽

How to Change a DataColumn's Data Type from Double to Int32 in a DataTable?

在 DataTable 中轉換 DataColumn 資料型別

在程式設計中處理資料時,可能需要操作 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn