2010-06-03 59 views
0

我的工具是在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 

我想将此查询的结果放入下拉列表中。我该怎么做?很感谢任何形式的帮助。从我的工作页面

回答

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)

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 

%> 
相关问题