1

私は 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()
%>
4

1 に答える 1

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
于 2012-06-29T09:23:15.123 に答える