当前位置:  开发笔记 > 编程语言 > 正文

将DataTable中的列的DataType从DateTime更改为String

如何解决《将DataTable中的列的DataType从DateTime更改为String》经验,为你挑选了1个好方法。

我正在将数据从我的数据库加载到DataTable中,其中一列是日期字段.

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "MySP";
    cmd.CommandType = CommandType.StoredProcedure;

    conn.Open();
    using (SqlDataReader rdr = cmd.ExecuteReader())
    {
        dt.Load(rdr);
    }
}

我想格式化该列,以便它不是包含完整日期,而是格式化为"MM/DD/YYYY".

我已经尝试循环遍历表中的每一行并更改该列的单元格,但是我收到一条错误,指出该字符串不是有效的DateTime对象.

我尝试将列DateType更改为字符串,但是我收到一条错误消息,表示在填充表后我无法更改DateType.

我怎样才能做到这一点?这看起来很简单,但我遇到了这么多麻烦.



1> Jeff the Bea..:

作为一种解决方法,您可以创建一个新列并将格式化的日期存储在那里:

dt.Columns.Add("DateStr");

foreach (DataRow dr in dt.Rows)
{
    dr["DateStr"] = string.Format("{0:MM/dd/yyyy}", dr["OriginalDate"]);
}

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有