首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串在将其放入DateTime时转换为System.Data.DataTable。

字符串在将其放入DateTime时转换为System.Data.DataTable。
EN

Stack Overflow用户
提问于 2018-05-17 02:23:50
回答 2查看 221关注 0票数 0

我正在用值填充datatable,其中之一是以下字符串:"1/1/1801“。在我的数组“值”中,该项为字符串类型。但是,当我将数组分配给System.Data.DataTable行时,它神奇地变成了日期时间类型:

代码语言:javascript
复制
System.Data.DataTable dt = new System.Data.DataTable();
dt.Rows.Add(dt.NewRow().ItemArray = values);

我们在这里,有什么办法可以避免吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-17 03:17:06

您需要设置DataColumn的类型,以便表知道它是一个string

代码语言:javascript
复制
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时,它将知道每个列的数据类型是什么。

票数 0
EN

Stack Overflow用户

发布于 2018-05-17 11:11:37

您不会将列添加到数据table.Directly中,添加一行将引发运行时错误“输入数组比此表中的列数更长”。

必须声明和添加类型为string的列。

代码语言:javascript
复制
            string[] values = new string[] { "1/1/1801" };
            DataTable dt = new DataTable();
            dt.Columns.Add("Date", typeof(string));          
            dt.Rows.Add(dt.NewRow().ItemArray = values);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50382459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档