重複の可能性:
DataTableの列タイプを変換する方法は?
テーブルにすでに値がある場合、データテーブルの列タイプを変更するにはどうすればよいですか?
埋められた後にデータテーブルのデータ型を変更することはできませんが、これに関する多くの作業の1つは、データテーブルのクローンと型の変更です
最初の方法
//clone datatable
DataTable dtCloned = dt.Clone();
//change data type of column
dtCloned.Columns[0].DataType = typeof(Int32);
//import row to cloned datatable
foreach (DataRow row in dt.Rows)
{
dtCloned.ImportRow(row);
}
二番目の道
それを行う他の方法はこのようなもので、最初にスキーマを埋めます - 列のデータ型を変更し、データブルを埋めます
adapter.FillSchema(table, SchemaType.Source);
table.Columns[0].DataType = typeof (Int32);
adapter.Fill(table);
第三の道
それを行うもう1つの方法は
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("Col1", typeof(int));
dt.Rows.Add(1);
System.Data.DataTable dt2 = new System.Data.DataTable();
dt2.Columns.Add("Col1", typeof(string));
dt2.Load(dt.CreateDataReader(), System.Data.LoadOption.OverwriteChanges);