我正在用值填充datatable,其中之一是以下字符串:"1/1/1801“。在我的数组“值”中,该项为字符串类型。但是,当我将数组分配给System.Data.DataTable行时,它神奇地变成了日期时间类型:
System.Data.DataTable dt = new System.Data.DataTable();
dt.Rows.Add(dt.NewRow().ItemArray = values);我们在这里,有什么办法可以避免吗?
发布于 2018-05-17 03:17:06
您需要设置DataColumn的类型,以便表知道它是一个string。
DataRow row;
// Create new DataColumn, set DataType, ColumnName and add to DataTable.
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "Whatever";
table.Columns.Add(column);然后,当您请求NewRow时,它将知道每个列的数据类型是什么。
发布于 2018-05-17 11:11:37
您不会将列添加到数据table.Directly中,添加一行将引发运行时错误“输入数组比此表中的列数更长”。
必须声明和添加类型为string的列。
string[] values = new string[] { "1/1/1801" };
DataTable dt = new DataTable();
dt.Columns.Add("Date", typeof(string));
dt.Rows.Add(dt.NewRow().ItemArray = values);https://stackoverflow.com/questions/50382459
复制相似问题