好吧,我有这个简单的ASP页面(summary.asp) - 参见代码:
<HTML>
<body>
<form action = "Summary.asp" method="post">
Select A day: <input type ="date" name = "selectedDate" />
<input type="submit" value = "Submit"/>
</form>
<%
Dim SelectedDate
Set SelectedDate = Date
SelectedDate=Request.Form("selectedDate")
之后我想使用选择的日期作为SQL查询的一部分:
IF SelectedDate<>"" THEN
SQL = "select LOCATION_NAME, [Product Code], sum(SalesQuantity) As Units from [Sales Data] where EventEndDate = convert(date, getdate()) Group by [Product Code],LOCATION_NAME"
...
End IF
%>
我打算替换&#34;转换(date,getdate())&#34;在表单中选择日期。
我还没有到达将表单中的日期插入SQL字符串的部分。我知道HTML表单的日期格式是正确的SQL格式(yyyy-mm-dd),但看起来VB不喜欢这种格式作为日期?也许我只是缺少一些东西,但任何帮助都会受到赞赏。
谢谢......希望它有意义。
答案 0 :(得分:0)
从我可以告诉你的主要问题是你试图明确声明你的SelectedDate类型。不要这样做。在VBScript中,所有变量都是variant
类型,因此您无需声明其类型。所以你可以删除这一行:
Set SelectedDate = Date
之后,将CDate
像这样
SelectedDate = CDate(Request.Form("selectedDate"))
然后对于您的SQL行,您可以像这样添加它
SQL = "select LOCATION_NAME, [Product Code], sum(SalesQuantity) As Units " &_
"from [Sales Data] where EventEndDate = " &_
SelectedDate &_
" Group by [Product Code],LOCATION_NAME"
另外请注意参数化查询,因为这种格式对于SQL注入攻击来说已经成熟。