プログラミングでデータを処理する場合、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 を直接変更できないことに注意することが重要です。変更は次のように他の方法で行う必要があります:
解決策:
目的のデータ型変換を実現する 1 つの方法は、既存の 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 中国語 Web サイトの他の関連記事を参照してください。