我想知道如何正确编码下面的 strSQL 行以返回正确的结果。
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>
我还有其他几个问题,但我会一次解决一个问题!
感谢您提供的任何帮助,
伊恩