将数据库中的值放入下拉列表中

时间:2010-06-03 09:25:29

标签: asp-classic

我的工具在asp中。我在sql中使用此代码进行查询

dim req_id
req_id=Request.Form("Req_id")

if req_id<>"" then
Set conn=server.CreateObject("adodb.connection")
                    conn.Open session("Psrconnect")
                    Set rs=CreateObject("Adodb.Recordset")
                    rs.Open "select * from passwords where REQ_ID='"&req_id&"'", conn

我想将此查询的结果放入下拉列表中。我该怎么做?任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:0)

我的工作页面中编辑的代码很少:

function HtmlFormOption( byval psReturnValue, byval psDisplayValue ,byval psCurrentDefault)
   dim x
   if IsNull(psCurrentDefault) then psCurrentDefault = ""
   if IsNull(psReturnValue) then psReturnValue = ""

   if lCase( cStr(psReturnValue) ) = lCase( cStr(psCurrentDefault)) then
      x = "selected "
   else
      x = ""
   end if
   HtmlFormOption = "<option " & x & "value='" & psReturnValue & "'>" & psDisplayValue & "</option>"
end function

   dim Result, sCode, sWaarde
   Result = "<select name='NameCombobox' size='1'>" & vbCrlf
   while not objRecLookup.Eof
      sCode = objRecLookup.Fields(0)    '  first field in result set
      sWaarde = objRecLookup.Fields(1)    ' second field in result set
      if not IsNull(sCode) and not IsNull(sWaarde) then
         Result = Result & HtmlFormOption( sCode, sWaarde , psCurrentDft )
      end if
      objRecLookup.MoveNext
   wend
   objRecLookup.Close
   Result = Result &  "</select>" & vbCrlf

而不是Response.Write(Result)

答案 1 :(得分:0)

这是一个简单的解决方案:

<%

Dim objCommand, objRS
Set objCommand = Server.CreateObject("ADODB.Command")

with objCommand
    .ActiveConnection = objConn
    .CommandType = adCmdText
    .CommandText = "SELECT * FROM PASSWORDS WHERE REQ_ID= '" & req_id & "'"
    Set objRS = .Execute
end with

%><select name="selectbox"><%   

While NOT objRS.EOF
    %><option value="<%=objRS("COLUMN_NAME")%>"><%=objRS("COLUMN_NAME")%></option><%
    objRS.MoveNext
Wend

%></select><%

objRS.Close
Set objRS = Nothing
Set objCommand = Nothing

%>