我在一表(tbBlogArticle)中的字段如下:Title nvarchar(300),
AddDate Date代码如下:        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",请问是如何令其类型不改变啊?

解决方案 »

  1.   

    这个没关系,只是ADO.NET把所有日期、时间的类型都对应到DateTime,
    你在实际使用这个字段值时,做些技术处理:DateTime dt=(DateTime)dataTable1.Rows[行索引][列索引];
    string str=dt.ToString("yyyy/MM/11");
      

  2.   

        如果你将一个DATE值赋给一个DATETIME或TIMESTAMP对象,结果值的时间部分被设置为'00:00:00',因为DATE值不包含时间信息。 
        如果你将一个DATETIME或TIMESTAMP值赋给一个DATE对象,结果值的时间部分被删除,因为DATE类型不存储时间信息。
      

  3.   

    写错了:
    DateTime dt=(DateTime)dataTable1.Rows[行索引][列索引];
    string str=dt.ToString("yyyy/MM/dd");
      

  4.   

    DateTime dt
    dt.ToString("yyyy/MM/dd");这可以设置很多日期的格式的。
      

  5.   

    DateTime dt
    dt.ToString("yyyy/MM/dd");这可以设置很多日期的格式的。
      

  6.   

    DateTime dt
    dt.ToString("yyyy/MM/dd");
    ++
      

  7.   

    SQL Server数据库的问题,可以插入字符串类型的就不会变了,也可以查询出来后截取字符串