SQL字符串不提取数据

时间:2014-05-21 14:35:42

标签: sql-server razor

我正在使用sql server compact 4而且我遇到了一些麻烦。我有一个名为Counter的表,其中我存储了一些信息0-2,它检查该表中的今天日期,获取CounterValue并将它们分别放入一个变量0,1,2并作为计数器出现。第二天,新数据将有一个新日期,并在每个变量中显示相同的值。

到目前为止一切顺利,如果我按如下方式运行SQL查询

SELECT * FROM Counter WHERE Dateis = '21-05-2014'

它呈现正确的值,但是当我尝试从剃刀中选择时,它什么也没有被执行,它正在驱使我疯狂。

var DateNow = DateTime.Now.ToString("dd-MM-yyyy");
var CaseCounter = db.Query("SELECT * FROM Counter WHERE Dateis ='DateNow'");

DateNow的值为21-05-2014,与我测试的sql查询相同,但它什么也没做。没有数据显示。如果我删除WHERE数据将显示但是然后我显示所有日期数据而不是当前日期。

我在这里错过了什么吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要实际修补变量的值,而不是变量的名称:

var DateNow = DateTime.Now.ToString("dd-MM-yyyy");
var CaseCounter = db.Query("SELECT * FROM Counter WHERE Dateis = '" + DateNow + "'");

您的原始代码实际上是将此命令提交给DB:

SELECT * FROM Counter WHERE Dateis = 'DateNow'

因此,在连接结束引号之前,您需要使用双引号,然后是连接运算符(+)然后是变量来关闭字符串。