日期:2014-05-20  浏览次数:20768 次

Date变成了DateTime?
我在一表(tbBlogArticle)中的字段如下:
SQL code

Title nvarchar(300),
AddDate Date


代码如下:
C# code

        DataTable articleTable=new DataTable("tbArticle");
        using (SqlConnection sqlconn = new SqlConnection(strConn))
        {
            string strcmd = "SELECT TOP 5 * FROM tbBlogArticle ORDER BY AddDate DESC";
            using (SqlCommand sqlcmd = new SqlCommand(strcmd, sqlconn))
            {
                sqlcmd.CommandType = CommandType.Text;
                SqlDataAdapter sqlda = new SqlDataAdapter(sqlcmd);
                sqlda.Fill(articleTable);
            }
        }


如上面,我新建一DataTable,然后用SqlDataAdapter填充时,发现在DataTable内的AddDate字段数据类型变成了DateTime,原来字段AddDate的值"2011/11/11",输出到DataTable却变成了"2011/11/11 0:00:00",请问是如何令其类型不改变啊?

------解决方案--------------------
如果你将一个DATE值赋给一个DATETIME或TIMESTAMP对象,结果值的时间部分被设置为'00:00:00',因为DATE值不包含时间信息。 
如果你将一个DATETIME或TIMESTAMP值赋给一个DATE对象,结果值的时间部分被删除,因为DATE类型不存储时间信息。
------解决方案--------------------
写错了:
DateTime dt=(DateTime)dataTable1.Rows[行索引][列索引];
string str=dt.ToString("yyyy/MM/dd");