荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Sage (Sman), 信区: Database
标  题: [转载] SQL Server结合ASP技术实现web报表动态生 dantifer (转寄)
发信站: BBS 荔园晨风站 (Mon Mar 13 13:11:46 2000), 转信

【 以下文字转载自 Sage 的信箱 】
【 原文由 learns.bbs@smth.org 所发表 】
发信人: dantifer (阿法 ), 信区: Database
标  题: SQL Server结合ASP技术实现web报表动态生成
发信站: BBS 水木清华站 (Tue Dec  7 22:30:48 1999)

SQL Server结合ASP技术实现web报表动态生成
中国建设银行绍兴市分行科技处
冯望星
---- 随着计算机技术的飞速发展,特别是近年来INTERNET/INTRANET的普及,使得网上数
据库的应用逐渐增多,同时就带来了如何有效利用现有数据库的基础数据的问题。下面就
如何利用基础数据在web上生成动态报表的过程作一详细介绍。
一、 开发准备(操作平台、数据库及开发工具的选择)。
---- 1、 采用WINDOWS NT SERVER 4.0 作为系统平台。NT 4.0与IIS 4.0 的紧密结合,
使得它成为WEB服务器的理想系统平台。
---- 2、 使用SQL SERVER 7.0 作为基础数据及生成的动态报表的存放数据库,另外用
INFORMIX CLI 32 实现SQL SERVER 与原始数据的存放库(INFORMIX)之间的异构。
---- 3、 采用ASP(ACTIVE SERVER PAGES)技术结合VBSCRIPT 实现对数据的加工处理

---- 4、 使用现有的ACTIVE X 控件使编程更简洁。
二、 基础数据的获得。
---- INFORMIX作为业务数据的存放库,本身就存在大量的事务处理,如果再进行报表的
分析生成,就会导致数据库效率的降低,所以选用SQL SERVER 作为异构数据库,通过专
用接口(INFORMIX CLI32)或ODBC把需要的数据从INFORMIX库卸出,然后导入SQL SERV
ER库作为基础数据。(不作详细讨论)
三、 ASP与SQL SERVER连接所用到的数据源定义。
---- 在ODBC管理器中建立数据源dataconnect,数据源配置为:
DATABASE:code;USERNAME:hero;PASSWORD:hero
---- 接下来按默认进行下一步确认。
四、 与数据库的连接。
ASP 通过ADO调用dataconnect与数据库code相连。
< % set cn=server.createobject
(ADODB.connection)
   cn.open “driver={SQL SERVER};
server=train;datebase=code;uid=hero;pwd=hero”
    % >
五、 ASP页面把产生报表所需的变量传递给数据库的存储过程(必须保证存储过程有相
应的入口参数),本例中以存储过程hero.createjbb为例,createjbb根据传来的变量生
成报表数据放到表dqckb中。详细的存储过程代码
六、 ASP页面调用GRID控件,把表中的数据绑定到GRID中。详细程序
七、 为了使报表的打印更加灵活方便,最后我们用到了SETEXCEL控件,把GRID中的数据
导成EXCEL文件。
    Sub Excel_Click()
 window.status="正在打开
C:\Exceltemplate\dqckb.xls文件,请等待!!"
 i=SetExcel1.SetOpen
("C:\Exceltemplate\dqckb.xls",10)
 Window.status="文件已经打开,
正在写Excel工作簿,请等待..."
 if i=1 then
  j=0
  k=1
  for m=2 to num
   SetExcel1.Addnew()
k= SetExcel1.SetCell(1,MsGrid.TextMatrix(m,0))
k= SetExcel1.SetCell(2,MsGrid.TextMatrix(m,1))
k= SetExcel1.SetCell(3,MsGrid.TextMatrix(m,2))
k= SetExcel1.SetCell(4,MsGrid.TextMatrix(m,3))
k= SetExcel1.SetCell(5,MsGrid.TextMatrix(m,4))
k= SetExcel1.SetCell(6,MsGrid.TextMatrix(m,5))
k= SetExcel1.SetCell(7,MsGrid.TextMatrix(m,6))
k= SetExcel1.SetCell(8,MsGrid.TextMatrix(m,7))
k= SetExcel1.SetCell(9,MsGrid.TextMatrix(m,8))
k= SetExcel1.SetCell(10,MsGrid.TextMatrix(m,9))
SetExcel1.Update()
next
call SetExcel1.SetAddition
(1,"< % = DataCommand2("fs8jgmc") % >")
call SetExcel1.SetAddition
(2,"< % = Session("g_date") % >")
      call SetExcel1.SetAddition
(3,"单位:< % = Session("u_name") % >")
call SetExcel1.WriteSheets()
call SetExcel1.SetVisible()
 else
msgbox("Can't Open C:\Exceltemplate\dqckb.xls !!")
 end if
end sub

--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.136.140]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.11.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店