在sql中仅发送日期而不是时间日期字段

时间:2015-04-10 12:07:26

标签: c# sql sql-server date datetime

我正在尝试更新SQL Server中的DATE(不是DATETIME)列,但是当我执行SQL命令时,它也会以时间格式发布。

string datetosql = "10.4.2015";

            string sqlQuery = "UPDATE tbl_tasks " +
                                "SET description = '" + tbTaskDescription.Text + "', " +
                                "deadline = '" + datetosql + "' , " +
                                "status = '" + statusIndex.ToString() + "' " +
                                "WHERE tid = " + _TaskID;

当我稍后使用SqlDataReader收集日期时,会以时间格式发布:04.10.2015 00:00:00。为什么会这样?

2 个答案:

答案 0 :(得分:4)

.NET没有仅限日期的数据类型。

如果要求返回SQL Server datetime,它总是在.NET中返回DateTime结构实例。对于date,时间属性(小时,分钟等)将为0

请注意,使用未参数化的查询会被视为错误!你对SQL注入是开放的,因为你需要逃避引号等等,所以你的生活更加艰难。

答案 1 :(得分:-1)

cast添加到datetosql,例如:

Cast(datetosql as Date)