微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在将数据从我的数据库加载到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.

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

解决方法

作为一种解决方法,您可以创建一个新列并将格式化的日期存储在那里:
dt.Columns.Add("DateStr");

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

原文地址:https://www.jb51.cc/csharp/98670.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐