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"]);
}

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...