缺少变量的值

时间:2013-05-23 19:52:42

标签: html sql sql-server asp-classic vbscript

我正在尝试使用经典ASP / VBScript在<select>上填充<option>。这些值是从SQL Server数据库中读取和获取的,其代码类似于:

SET rows = dbc.execute(SQL)
    IF NOT rows.EOF THEN
        DO WHILE NOT rows.EOF
             %>  
                <option value="<%=rows("specialty")%>"><%=rows("specialty")%></option>
             <%    
             rows.moveNext
        LOOP
    ELSE    
END IF

rows.close
SET rows = NOTHING

我遇到的问题是<%=rows("specialty")%>只有一方似乎在评价。

<option value="<%=rows("specialty")%>"><%=rows("specialty")%></option>我得到:

<option value="fromRow1"></option>
<option value="fromRow2"></option>
<option value="fromRow3"></option>

<option value="test"><%=rows("specialty")%></option>我得到:

<option value="test">fromRow1</option>
<option value="test">fromRow2</option>
<option value="test">fromRow3</option>

应该怎样做才能缓解这个问题?

3 个答案:

答案 0 :(得分:4)

试试这个:

Dim a
Do while not rows.Eof
    a = rows.Collect("specialty")
    Response.Write("<option value=""" & Replace(a, """", "&quot;") & """>" & a & "</option>")
    rows.MoveNext
Loop

答案 1 :(得分:1)

specialty的数据类型是什么?

试试这个:

    DO WHILE NOT rows.EOF
    specialty = rows("specialty")
         %>  
            <option value="<%=specialty%>"><%=specialty%></option>
         <%    
         rows.moveNext
    LOOP

答案 2 :(得分:0)

试试这个:

<option value='<%=rows("specialty")%>'><%=rows("specialty")%></option>

它可能会与双打引号混淆。但自从我在Classic ASP工作以来已经有一段时间了。