2013-04-26 63 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 &「#」