我需要将数据从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>
现在我如何选择我需要的价值?
谢谢。希望你能理解我
答案 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;”'“始终返回单个记录。如果它没有返回任何内容,我会提供一些保护措施。