SQL Server:从数据库中选择日期

时间:2017-07-14 22:20:47

标签: c# sql sql-server date select

我有一个变量string session_start_time从数据库获得结果,是 - 2017-07-15 03:54:37.000

但是以下查询会导致错误:

select * 
from surf_ads_views 
where date_time >= " + session_start_time + " 
  and member_id = " + member_id

错误如下:

  

类型' System.Data.SqlClient.SqlException'的异常发生在System.Data.dll中但未在用户代码中处理

     

其他信息:' 3'附近的语法不正确。

我无法弄清楚,为什么会导致错误

2 个答案:

答案 0 :(得分:2)

您的特殊问题是您正在使用单引号注入需要包装的字符串。

...date_time >='" + session_start_time + "' and ... 话虽这么说,您应该使用参数而不是SQL注入,因为它将解决这些类型的问题并提高您的安全性。

答案 1 :(得分:0)

您应该将属性类型从String更改为DateTime,并让数据库在配置时管理类型,并使用存储过程而不是SQL语句

创建程序dbo.SelectData @StartDate DateTime 如 select * from surf_ads_views where date_time = @StartDate