我正在将数据从我的数据库加载到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"]); }