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 にデータを入力した後でも、列のデータ型を効果的に変更できます。
以上がデータが入力された後に DataTable 列の DataType を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。