Asp classic 我需要显示空白作为第一个值

Asp classic 我需要显示空白作为第一个值,asp-classic,Asp Classic,在我的数据库中,我有0到24的值,下面的代码用这些值填充下拉列表: <% SQLstmt = "Select PriorTries from myTable" set TrySet = conn.Execute(SQLstmt) %> <select name="Tries"> <option value="">&nbsp;</option> <%

在我的数据库中,我有0到24的值,下面的代码用这些值填充下拉列表:

 <%
    SQLstmt = "Select PriorTries from myTable"
    set TrySet = conn.Execute(SQLstmt)
        %>
        <select name="Tries">
        <option value="">&nbsp;</option>
        <%
         Do Until TrySet.EOF
          TryID = TrySet("Tries")
         If TryID = Tries Then sel = "SELECTED" Else sel = ""
        %>
        <OPTION Value="<%=TryID%>" <%=sel%> > <%=TrySet("Tries")%>
       <%
        TrySet.MoveNext
        Loop
        %>

      </select>

唯一的问题是0显示为默认值

我希望为空,就像我在代码中的默认值一样

我做错了什么

提前谢谢

             <SELECT name="Tries">
             <option value="" selected="selected">&nbsp;</option>

               <OPTION Value="0" SELECTED > 0
               <OPTION Value="1"  > 1
               <OPTION Value="2"  > 2
               <OPTION Value="3"  > 3
               <OPTION Value="4"  > 4
               <OPTION Value="5"  > 5
               <OPTION Value="6"  > 6
               <OPTION Value="7"  > 7
               <OPTION Value="8"  > 8
               <OPTION Value="9"  > 9
               <OPTION Value="10"  > 10
               <OPTION Value="11"  > 11
               <OPTION Value="12"  > 12
               <OPTION Value="13"  > 13
               <OPTION Value="14"  > 14
               <OPTION Value="15"  > 15
               <OPTION Value="16"  > 16
               <OPTION Value="17"  > 17
               <OPTION Value="18"  > 18
               <OPTION Value="19"  > 19
               <OPTION Value="20"  > 20
               <OPTION Value="21"  > 21
               <OPTION Value="22"  > 22
               <OPTION Value="23"  > 23
               <OPTION Value="24"  > 24
             </SELECT>

0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
试试:


我看不到
尝试的任何定义
未定义的变量等于零(空)。
因此,代码中的if条件返回True,而
TrySet(“trys”)
等于零(对于第一条记录)并打印所选的
。这很正常。
我感兴趣的是,您在查询中选择了列作为
PriorTries
,但您尝试使用循环中的TrySet(“
Tries
”)获取它。你认为这是正确的吗?
不管怎样,
我认为您需要尝试这样使用:

如果CStr(TryID)=CStr(trys),则sel=“SELECTED”Else sel=“”

将所选变量默认为-1。因为0是默认值,所以它被选中。我认为你不需要被选中。它只是被选中,就像你有你的宝贵的选择。我猜你的记录集中有一个计数,它返回零。可能在SQL脚本中,如果值为零,则返回-1或null。

谢谢。我已经更新了上面的代码以粘贴您所要求的内容。如您所见,0已被选为默认值。您有两个选定的。您需要添加Matt的语句并删除ASP中生成所选内容的部分。如果TrySet(“trys”)等于0,我不知道上面的代码如何运行而没有结束?默认情况下,TrySet(“trys”)需要等于Nothing/Null/或0到24以外的值,以便您可以检测何时未检测到任何内容,而不是选择0。此外,您没有正确关闭标记。这不会解决您的问题,但最好关闭它们:ASP部件用于显示所选记录。这对于更新记录很重要。您希望查看用户选择的内容,并在需要时进行更新。如果第一次未选择任何记录,则默认为空。为什么0替换空白作为默认值?必须有一种方法确保所选记录成为默认记录,如果未选择任何记录,则默认为空白,无论0是否为选项之一。
<option value="" selected="selected">&nbsp;</option>