当前位置:首页 >> 网络编程

如何用下拉列表显示数据库里的内容?

<%
Dim objDC, objRS

Set objDC = Server.CreateObject("ADODB.Connection")
objDC.ConnectionTimeout = 15
objDC.CommandTimeout = 30

' 创建数据库连接

objDC.Open "DBQ=" & Server.MapPath("database.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;MaxBufferSize=8192;Threads=20;", "username", "password"
' 使用Access数据库

objDC.Open  Application("SQLConnString"), Application("SQLUsername"),
Application("SQLPassword")

Set objRS = Server.CreateObject("ADODB.Recordset")

' 创建记录集并进行检索

' 使用前向游标(0)和只读模式(1)打开记录集
' 如果特定的id请求被读取,则显示
If Len(Request.QueryString("id")) <> 0 Then
      ' 根据id读取相应的记录
      objRS.Open "select * from intelsdb WHERE id=" & Request.QueryString("id"), objDC, 0, 1
      ' 显示已选择的记录
      If Not objRS.EOF Then
            objRS.MoveFirst
            %>
            <TABLE BORDER=2>
                  <tr>
                        <td><B>ID </B></td>
                        <td><B>姓名</B></td>
                        <td><B>部门</B></td>
                        <td><B>月度销售</B></td>
                  </tr>
                  <tr>
                        <td ALIGN="center"><%= objRS.Fields("id") %></td>
                        <td ALIGN="left"><%= objRS.Fields("name") %></td>
                        <td ALIGN="left"><%= objRS.Fields("department ") %></td>
                        <td ALIGN="right"><%= objRS.Fields("sales") %></td>
                  </tr>
            </TABLE>
            <%
      End If
      objRS.Close
End If

objRS.Open "intelsdb", objDC, 0, 1
' 循环读完记录集并显示结果
If Not objRS.EOF Then
      objRS.MoveFirst
      ' 下面这个表格会调用本次在QueryString 里id的内容
      %>
      <FORM ACTION="./db_pulldown.asp" METHOD="get">
      <select NAME="id">
            <OPTION></OPTION>
      <%
      ' 直到读完记录集.
      Do While Not objRS.EOF
            ' 对每条记录,为员工id创建一个选择标签并设置相应的值
            %>
            <OPTION VALUE="<%= objRS.Fields("id") %>"><%= objRS.Fields("name")  %></OPTION>
            <%
      ' 获取下一个记录
      objRS.MoveNext
      Loop
      %>
      </select>
      <INPUT type="submit" value="Submit">
      </FORM>
      <%
End If

' 关闭并清空
objRS.Close
Set objRS =  Nothing
objDC.Close
Set objDC = Nothing
%>