日期:2011-05-13  浏览次数:20932 次

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