利用asp結合javascript或vbscript可以生成動態的web頁面。在將這種方法用於實際應用中時,不可避免的要將結果打印輸出。我們同樣可以將查詢結果整理後輸出,並用浏覽器工具欄上的打印按鈕直接打印輸出。以下程序是訪問sql server 自帶的數據庫pubs中的sales表,服務器和工作站端都采用vbscript。當工作站端采用javascript時,可用navigator訪問。
〈html〉〈head〉
〈meta http-equiv=″content-type″ content=″text/html; charset=gb—2312-80″〉
〈meta name=″vi60—defaultclientscript″ content=″vbscript″〉
〈meta name=″generator″ content=″microsoft frontpage 3.0″〉
〈title〉sales〈/title〉〈/head〉
〈body〉〈form〉
〈table border=″0″ width=″800″ cellspacing=″0″ cellpadding=″0″〉
′定義表寬800點
〈tr〉〈td〉〈div align=″center″〉〈center〉〈h2〉〈strong〉訂單報表〈/strong〉〈/h2〉
〈/center〉〈/div〉〈/td〉〈/tr〉〈tr〉〈td〉〈div align=″right″〉〈p〉單位:元 〈/td〉〈/tr〉〈/table〉
〈table border=″1″ width=″800″ cellspacing=″0″ cellpadding=″0″〉〈tr〉
〈td width=″25%″ align=″center″〉stor_id
〈/td〉〈td width=″25%″ align=″center″〉ord_num〈/td〉
〈td width=″25%″ align=″center″〉ord_date〈/td〉〈td width=″25%″ align=″center″〉qty〈/td〉〈/tr〉〈% set cn=server.createobject(″adodb.connection″)
′定義一個ado的連接對象
cn.open ″provider=sqloledb;data source=202.203.208.1;initial catalog=pubs;user id=sa;password=; ″
′定義數據庫連接
sql=″select stor_id,ord_num,ord_date,qty from sales where ord_date〉′1994-5-1′″
set rs=cn.execute(sql)
while not rs.eof
′判斷是否為最後一條記錄
qtyv=rs(″qty″)
sumqtyv=sumqtyv+qtyv%〉
〈tr〉〈td〉〈%=rs(″stor_id″)%〉〈/td〉
〈td〉〈%=rs(″ord_num″)%〉〈/td〉
〈td〉〈%=rs(″ord_date″)%〉〈/td〉
〈td〉〈%=qtyv%〉〈/td〉〈/tr〉
〈%rs.movenext ′移動到下一條記錄wend%〉〈tr〉
〈td colspan=″3″〉合計〈/td〉
〈td〉〈%=sumqtyv%〉〈/td〉
〈/tr〉〈/table〉〈%cn.close%〉〈/form〉〈/body〉〈/html〉
為保證能打印各種大小的報表,可先將浏覽器中打印設置的紙張大小定為最寬,然後通過調整〈table width=″″〉的值輸出不同的報表大小。