带数据库连接的多选列表框






2.80/5 (5投票s)
2004年4月21日

79283

710
动态创建多选列表框。
引言
本文/代码片段演示了如何在 ASP 文档中动态创建一个多选列表框,其内容/数据/项目存储在数据库中的一个表中。 文件组织良好,方便您参考。
使用代码
数据库连接位于 global.asa 中,可以通过简单的 MS Access 数据库或 MS SQL Server 数据库进行连接。
示例代码
'
'FOR MS SQL SERVER DATABASE
'==========================
application("con").open "PROVIDER=MSDATASHAPE;DRIVER=" & _ 
     "{SQL Server};SERVER=[SERVER];DATABASE=[DATABASE];UID=[USERID];PWD=[PASSWORD]; "
      
'FOR MS ACCESS DATABASE
'==========================
application("con").open "Driver={Microsoft Access Driver (*.mdb)};" _
        & "DBQ=" & Server.MapPath("database/main.mdb")
在 <modules> 中,utility.asp 中包含用于数据检索的 Recordset 处理。
示例代码
'
'DEFINITION
'==========================
Sub CrRst(byref rst, rstctr, strsql)
    set rsCreate = server.CreateObject("adodb.recordset")
    ......
    ......
    'IMPLEMENTAION
    '==========================
    CrRst rst, ctr, <SQL>
   'rst - holds the records/data in array, 
   'e.g. rst(1,2), (1) - indicates the field:(2) - indicates the record
   'ctr - record counter
  '<SQL> - SQL statement
在 <modules> 中,utility.asp 中包含从 Recordset 返回的项目/数据创建多选列表框的代码。
示例代码
'
'DEFINITION
'==========================
sub listbox_mul(name, strsql, blank, selected, events, width_in, size_in)
    response.write "<SELECT name='" & name & "' id='" & _
                   name & "'" & events & " size='" & _
                   size_in & "' style='width:" & width_in & "px'>" & crlf
    ......
    ......
    'IMPLEMENTAION
    '==========================
    <%listbox_mul "optFilterOpt", _
       "select ID, ITEM from tblRefItems order by ID" , true, "", "", 100, 10%>
列表框项目/数据传输功能位于 <includes> 中的 listbox_option.js 中。
示例代码
'
'DEFINITION
'==========================
function SelAll(a, b){
    availableList = document.getElementById(a);
    ......
    ......
    'IMPLEMENTAION
    '==========================
    <input type="button" value=">>" 
      name="addAll" onclick="SelAll('optFilterOpt','optFilterSel')">
