关于客户端用ASP参生报表(高级篇)

2016-01-29 17:33 8 1 收藏

关于客户端用ASP参生报表(高级篇),关于客户端用ASP参生报表(高级篇)

【 tulaoshi.com - ASP 】

  上回曾贴一篇较简单的用ASP+RDS客户端参生报表
此回贴一篇较复杂的用ASP+RDS+组件客户端参生报表
错误说明:(若提示ActiveX 元件无法参生 RDS.DataSpace)
IE需设置安全选项
操作:菜单工具-INTERNET选项-安全性-自定义
设置:起始但ActiveX不标示为安全-开启
原理说明:
客户端直接用RDS产生RecordSet安全性不够,使用了
middle-tier Automation components 后可大大增加安全性!
请看下文:
编写注册元件:
ActiveX Dll project:iacrdsobj.vbp
Class Module name:RsOp

Public Function ReturnRs(strDB As Variant, strSQL As Variant) As ADODB.Recordset
'Returns an ADODB recordset.
On Error GoTo ehGetRecordset
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strConnect As String
strConnect = "Provider=SQLOLEDB;Server=server name ;uid=sa;pwd=; Database=" & strDB & ";"
cn.Open strConnect
'These are not listed in the typelib.
rs.CursorLocation = adUseClient
'Using the Unspecified parameters, an ADO/R recordset is returned.
rs.Open strSQL, cn, adOpenUnspecified, adLockUnspecified, adCmdUnspecified
Set ReturnRs = rs
Exit Function
ehGetRecordset:
Err.Raise Err.Number, Err.Source, Err.Description
End Function
然后 MAKE iacrdsobj.dll
若有错,请设置VB菜单PROJECT-REFREENCE
增加 MicroSoft ActiveX Data Object 2.6 Library(当然数字要高一点)

然后 注册iacrdsobj.dll到数据库server(为安全,最好更改数据库uid最好不为sa)!
好,接下来看asp
long1.asp
<html
<head
<META content="text/html; charset=gb2312" http-equiv=Content-Type
<titleclient use rds produce excel report</title
</head
<body bgColor=skyblue topMargin=5 leftMargin="20" oncontextmenu="return false" rightMargin=0 bottomMargin="0"

<div align="center"<center
<table border="1" bgcolor="#ffe4b5" style="HEIGHT: 1px; TOP: 0px" bordercolor="#0000ff"
<tr
<td align="middle" bgcolor="#ffffff" bordercolor="#000080"
<font color="#000080" size="3"
client use rds produce excel report
</font
</td
</tr
</table
</div
<form action="long1.asp" method="post" name="myform"
<DIV align=left
<input type="button" value="Query Data" name="query" language="vbscript" onclick="fun_excel(1)" style="HEIGHT: 32px; WIDTH: 90px"
<input type="button" value="Clear Data" name="Clear" language="vbscript" onclick="fun_excel(2)" style="HEIGHT: 32px; WIDTH: 90px"
<input type="button" value="Excel Report" name="report" language="vbscript" onclick="fun_excel(3)" style="HEIGHT: 32px; WIDTH: 90px"
</div
<DIV id="adddata"</div
</form
</body
</html
<script language="vbscript"
sub fun_excel(t)
Dim rds,rs,df,ServerStr
dim strSQL,StrRs
Dim xlApp, xlBook, xlSheet1
ServerStr="http://Sql Server Name" 'the sql server name of register iacRDSObj.dll
'use rds to produce client recordset
set rds = CreateObject("RDS.DataSpace",ServerStr)
'eg:set rds = CreateObject("RDS.DataSpace","http://iac_fa") 'iac_fa is the LAN sql server name
'eg:set rds = CreateObject("RDS.DataSpace","http://10.150.254.102") '10.150.254.102 is the LAN sql server IP Address
'the register com
Set df = rds.CreateObject("iacRDSObj.rsop", ServerStr)
'the query string of sql
strSQL = "Select top 8 * from jobs order by job_id"
'the recordset
Set rs = df.ReturnRs("pubs",strSQL)
if t=1 then
if not rs.eof then
StrRs="<

来源:http://www.tulaoshi.com/n/20160129/1501914.html

延伸阅读
中纪委手机客户端怎么用   中央纪委监察部官方门户网站对外界推出了中纪委手机客户端,帮助老百姓可以随时进行举报,那么中纪委手机客户端怎么用呢?下文小乐哥给大家带来中纪委手机客户端使用教程,一起来了解下吧! 中纪委手机客户端是中央纪委监察部官方门户网站适应形势任务需要推出的新媒体平台,中纪委手机客户端采取多种方...
智能客户端(SmartClient)摘要本文主要讨论基于企业环境的客户端应用程序模型,由于本人曾经从事过传统的客户端/服务器两层结构应用程序和基于.net平台的多层结构应用程序的开发,因此本文将着重描述.net平台上的智能客户端应用程序模型,并根据一般的企业应用系统的需求来一步一步构造出一个较为完整的客户端软件框架。目录简介 概述 定义 .net...
标签: Web开发
要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP。还有一点需要注意的是:如果客户端没有...
招行手机客户端朝朝盈怎么用   登陆招行手机,点开账户查询,将看到朝朝盈选项,点击开通,按提示操作即可。点开帐号总览就可以看到朝朝盈。 前朝朝应年化收益为5.4%,在同类产品中算中上选择。
标签: ASP
  但必需客户端打开IE选项中的安全属情中的对没有标记为安全的ActiveX控件进行初始化和执行脚本 <script function exec (command) {     window.oldOnError = window.onerror;     window._command = command;     window.onerror = function (err) {    ...

经验教程

451

收藏

94
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部