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



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

<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服务器连接通过同一服务器上的ODBC系统DSN。这会是瓶颈吗
  • 我不是经典ASP的专家,所以我可能错过了一些显而易见的东西。

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

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

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

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

应该是:

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

此外,我会将文本"Selected"放在一个变量中,并在OPTION标签

中使用该变量

最新更新