c# - SQL Server 2008 回归时间的 DATE 数据类型!

标签 c# sql-server-2008 date

我在 SQL Server 2008 中有一个数据类型 DATE 的列,它仅以“yyyy-MM-dd”格式存储日期,但是当我通过 C# 从数据库中选择日期并将其转换为字符串时, 显示时间部分也一样。

"2012-04-21 12:00:00"

我没有在数据库中存储时间的问题是我的查询!

string sql = @"select card_no, amount, csc,expdate " + 
              "from user_account_card " + 
              "where user_id = '" + loginsession.Auser + "';";

SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader red = cmd.ExecuteReader();

while (red.Read())
{
   loginsession.Cardno = Convert.ToString(red["card_no"]);
   loginsession.Cardamount = Convert.ToString(red["amount"]);
   loginsession.Csc=Convert.ToString(red["csc"]);
   loginsession.Expdate = Convert.ToString(red["expdate"]);//date part
   break;
}

MessageBox.Show("database value from database--" +loginsession.Expdate);

请帮我做一下

最佳答案

如果时间显示为午夜,那么就所有意图和目的而言,它是在没有时间的情况下存储它。

SQL有日期数据类型不包含时间,需要重新设计表。不确定您是否需要/想要这样做。

你也可以试试这个:

((Date)red["expdate"]).ToString();

由于这将转换为 Date 数据类型而不是 DateTime 数据类型,因此您应该只在返回的字符串中看到日期部分。

关于c# - SQL Server 2008 回归时间的 DATE 数据类型!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5611304/

相关文章:

c# - 在Azure上部署WCF服务,尝试访问数据库时超时

c# - 用户 'IIS APPPOOL\myAppPoolName' 登录失败,无法为此添加新用户

c# - 将字符串转换为日期时间 UTC

c# - 延长查询超时时间

c# - Winphone转WCF加密

sql-server - 在 SSIS 中使用合并任务的指南

database - SQL Server 2008 问题上的全文搜索实现

c# - 在文件加载时重新格式化文件中的日期

java - 为什么期间不具有可比性

c# - 通过 EF LINQ 比较 UTC 中的 DateTimeOffset?