利用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 salesswheresord_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=″″〉的值輸出不同的報表大小。
|