2013-04-26 65 views
0

我想知道如何正确编码下面的strSQL行来返回正确的结果。经典ASP选择*其中x和x

SELECT * FROM Reviews WHERE Month=x AND Year=x 

我会在月份和年份硬编码。

我正在使用访问数据库运行一个asp页面。我尝试了上面的字符串(使用硬编码的月份和年份),但没有奏效。

服务器日志页面已关闭,所以我不能检查它的方式,即使我的浏览器设置为显示完整的错误消息,我看到的全部是500 - 内部服务器错误。

我检查了匹配月份和年份编码的记录表,并且2012年3月有相当多的记录,所以它应该显示几个结果。

月份和年份字段是用户手动输入的数据库中的单独字段。

<% 
Set adoCon = Server.CreateObject("ADODB.connection")' initialize connection 
Set ors = Server.CreateObject("ADODB.RecordSet")' initialize record set 

adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database.mdb") 

Const COLUMN_COUNT = 1 
strSQL = "SELECT * FROM Reviews WHERE Month= 'March' AND Year= '2012'" 

coll_width=100/COLUMN_COUNT 

column = 0 ' initialize counter 

ors.open strSQL,adoCon,1,1 'open record set 

Do While Not ors.EOF 
If column = 0 Then Response.Write "<TR>" 

%> 
<td width="<%=coll_width%>%" valign="top" ><table width="100%" border="0"> 
<tr > 
<td height="100%"> 
<div class="extra_container post reviews"> 
<figure> <img src="images/<% = oRs.Fields("Image") %>" width="200" alt=""> </figure> 
<div> 
<div class="date"> 
<% = oRs.Fields("ReleaseDate") %> 
</div> 
<div class="title"> 
<% = oRs.Fields("Artist") %> - <% = oRs.Fields("Album") %> 
</div> 
<% = oRs.Fields("Teaser") %> 
<br> 
<a href="cdreviewsmain.asp?pl=<% = oRs.Fields("ID") %>" class="button">more</a> </div> 
</div> 
</td> 
</tr> 
</table> 
</td> 
<% column = column + 1 
If column = COLUMN_COUNT Then 
Response.Write "</TR>" & vbNewLine 
column = 0 ' start over! 
End If 
oRS.MoveNext 
Loop %> 
<% ors.Close 'Close the database connection 
'SET ors = Nothing 'Clean up after yourself 
%> 
</table> 

我有一些其他问题,但我会让他们排序一个一个!

感谢您可以提供任何帮助,

伊恩

+0

“它没有工作'不给我们太多的继续,什么是确切的错误信息?同样,你可以发布_relevant_ asp代码? – 2013-04-26 16:28:52

回答

2

月,年的保留在SQL的话...尝试用[]

SELECT * FROM Reviews WHERE [Month]=x AND [Year]=x 

如果'他们逃跑x'是数字,那么就把数字,如果他们是字符串,然后把它们放在引号中。在Access中使用SQL Server中的双引号和单引号。

顺便说一句,如果你安装了MS Access,你可以使用查询/查看标签来建立一个标准,然后查看相应的SQL代码来获得提示。

+0

感谢信号,它排序! – 2013-04-26 16:52:33

0

至于我记得你有喜欢访问使用日期时使用的哈希:

“SELECT * FROM表名WHERE([年] =#” & varDate &“#”