我是asp的初学者,我遇到了这段代码的问题。我已经多次尝试调试,但它仍然无法正常工作。当我运行代码时,显示内部服务器错误500.我不确定是什么问题。如果我删除这段代码,它将起作用。有人可以帮助我并指出正确的方向吗?请?
<%
strSQL = "SELECT _id,name,price,out_of_stock FROM class_product WHERE purchase_form = 1 ORDER BY _rank ASC"
OpenMainConn()
set rsProducts = Server.CreateObject("ADODB.Recordset")
rsProducts.Open strSQL, MainDBConn
dim count
if not rsProducts.eof then
dim exceptions
while not rsProducts.eof
count = count + 1
exceptions = exceptions & "product" & count & ","
%>
<tr>
<td>
<%=(rsProducts("name"))%>
</td>
<td align="right">
<%=(FormatCurrency(rsProducts("price"),2))%>
</td>
<td align="center">
<% if rsProducts("out_of_stock") = 0 then %>
<input type="text" class="input_text" style="width: 20px;" id="product<%=count %>" name="product<%=count %>" onchange="updateSub();" />
<% else %>
<img border="0" src="images/OUT-OF-STOCK.gif"/><input type="hidden" class="input_text" style="width: 20px;" id="product<%=count %>" name="product<%=count %>" onchange="updateSub();" />
<% end if %>
<input type="hidden" id="productDetails<%=count %>" name="productDetails<%=count %>" value="<%=(rsProducts("name") & "|" & rsProducts("price"))%>" />
</td>
</tr>
<%
rsProducts.movenext()
wend
end if
rsProducts.Close()
set rsProducts = nothing
CloseMainConn()
%>
答案 0 :(得分:1)
您的主要问题在于您的数据库连接。
尝试使用以下(可以调整)绕过它
'OpenMainConn()
Set MainDBConn = Server.CreateObject("ADODB.Connection")
MainDBConn.open "Provider=SQLOLEDB.1;Password=ppppppppp;Persist Security Info=True;User ID=xxxxxx;Initial Catalog=Test;Data Source=123-AAAAA11111\SQLEXPRESS;"
此外,您应该关闭您的连接,如下所示
If rsProducts.State = adStateOpen Then
rsProducts.Close
End If
Set rsProducts = Nothing