数据库连接的内部错误

时间:2012-06-29 07:07:46

标签: asp-classic vb6

我是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()
%>

1 个答案:

答案 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