我有一个页面,想要使用ColdFusion和SQL Server数据库运行一些报表。
这是我的表单:
<cfform name="dateRange" action="" method="POST">
<label>Date From</label><br>
<cfinput type="DateField" name="dFrom" mask="DD/MM/YYYY">
<label>Date To</label><br>
<cfinput type="DateField" name="dTo" mask="DD/MM/YYYY">
<cfinput type="submit" value="Submit" name="Submit">
</cfform>
<hr>
<cfif isDefined("form.submit")>
<cfinclude template="data-p.cfm">
</cfif>
数据-p.cfm文件的内容如下:
<cfset fromDate = #CREATEODBCDATETIME(#form.dFrom#)#>
<cfset toDate = #CREATEODBCDATETIME(#form.dTo#)#>
<cfquery name="t">
SELECT id, type, started
FROM t_users
WHERE started >= #fromDate#
AND started <= #toDate#
ORDER BY started
</cfquery>
<cfdump var="#t#">
然而问题是,它会输出所有记录,并且不应用日期筛选。当我倾销查询时,它会倾销数据库中的所有记录。尽管SQL转储说明了WHERE语句,但它忽略了该语句。
SELECT id, type, started
FROM t_users
WHERE started >= {ts '2017-01-06 00:00:00'}
AND started <= {ts '2017-08-06 00:00:00'}
ORDER BY started
有什么想法吗?
select id, type, started from t_users where started >= {ts '2017-01-06 00:00:00'} and started <= {ts '2017-08-06 00:00:00'} ORDER BY started
- Sam Allen