经典的asp sql查询只返回部分结果

时间:2015-12-10 14:59:49

标签: sql-server asp-classic amazon

我正在尝试修复最近从本地服务器迁移到Amazon服务器的服务器上的错误。自从此举以来我们遇到了这个问题: 显示数据库中表的行列表的下拉列表仅显示大约三分之一的行(与直接在服务器上运行查询的情况相比)。此外,当您从查询中选择结果时,会发生更多事情。什么都没发生。

<select name="Producent">
 <option value="0"><%=newproduct_043%></option>
  <% 
   Set Rs = Conn.Execute("select id,name from Producent where isnull (Producentlink,0)=0 order by name")
   if not sDealer > "0" then
    set RS2 = Conn.Execute("select id from producent where name  = 'noname'")
   sDealer=cstr(RS2("ID"))
   end if
   While Not Rs.EOF
   %><option value="<%=Rs("ID")%>"<%If sDealer = cstr(Rs("ID")) Then Response.Write " Selected"%>><%=Rs("Name")%></option><%
   Rs.Movenext
  Wend
   %>
  </select>&nbsp;

我已经激活了ASP错误消息,但没有显示。我试过激活我能找到的每个日志,但没有任何错误显示。

我的想法:

  • SQL Server连接通过同一服务器上的ODBC系统DSN。这可能是瓶颈吗?
  • 我不是经典ASP的专家,所以我可能错过了一些明显的东西。

  • 我是否错过了新服务器上的某些设置,限制了ASP网站中显示的结果?

这不是我的专业领域(不是服务器而不是经典的ASP)

1 个答案:

答案 0 :(得分:-1)

在ASP中,您必须使用if结束end if语句。在您使用的代码中:

<%If sDealer = cstr(Rs("ID")) Then Response.Write " Selected"%>

应该是:

<%If sDealer = cstr(Rs("ID")) Then Response.Write " Selected" end if%>

此外,我会将文本“已选定”放入变量并使用您OPTION标记中的变量