从DB,Classic ASP中选择ddl中的值

时间:2014-04-15 11:19:54

标签: asp-classic ddl

我需要将数据从DataBase加载到DDL ..

我知道如何使用textBox,但使用ddl它只是非常有效..

我尝试使用选定的

set con = Server.CreateObject("ADODB.Connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("WebData/DB.mdb") & ";"
set rsUser= con.Execute("Select * FROM Users WHERE UserName = '"&username&"'")...
 ........
.......
<select name="ddlCountries" selected = "<%rsUser("country")%>">

它非常有用..而且我需要从db加载所有选项,然后选择所选的值..

我以这种方式加载数据

 <select name= "ddlCountries" id="ddlCountries">
                <option value="-1">  choose
                    </option>
                    <%set con = Server.CreateObject("ADODB.Connection")
                con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("WebData/DB.mdb") & ";"
                set rs = con.Execute("Select * FROM Countries where mode=true")
                while not rs.eof%>
                <option value=<%=rs("PkId")%>><%=rs("Name")%></option>
                    <%rs.movenext
                    wend
                rs.close
                set rs= nothing
                Con.close%>
                </select>

现在我如何选择我需要的价值?

谢谢。希望你能理解我

1 个答案:

答案 0 :(得分:1)

假设您的数据库连接正确并且已打开,并且rs(“名称”)是国家/地区的名称,这应该适合您:

  <% 
 dim rsSelected
 set con = Server.CreateObject("ADODB.Connection")
 con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &          Server.MapPath("WebData/DB.mdb") & ";"
 set rsUser  = Server.CreateObject("ADODB.RecordSet")
 set rsUser= con.Execute("Select top 1 country FROM Users WHERE UserName = '" & username & "'")

 rsSelected=rsUser("country")

 set rsUser=nothing
 %>
 <select name= "ddlCountries" id="ddlCountries">
            <option value="-1">  choose
                </option>
                <%

            set rs = Server.CreateObject("ADODB.RecordSet")
            set rs = con.Execute("Select * FROM Countries where mode=true")
            while not rs.eof
 if rs("Name")=rsSelected then%>
  <option selected value=<%=rs("PkId")%>><%=rs("Name")%></option>
 <% else 
 %>
            <option value=<%=rs("PkId")%>><%=rs("Name")%></option>
                <%
 end if
 rs.movenext
                wend
            rs.close
            set rs= nothing
            Con.close%>
            </select>

只需确保Select * FROM Users WHERE UserName ='“&amp; username&amp;”'“始终返回单个记录。如果它没有返回任何内容,我会提供一些保护措施。