繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> 客户端相关 >> 关于客户端用ASP参生报表(高级篇)

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

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  上回曾贴一篇较简单的用ASP+RDS客户端参生报表 此回贴一篇较复杂的用ASP+RDS+组件客户端参生报表 错误说明:(若提示ActiveX 元件无法参生 RDS.DataSpace) IE需设置安全选项 操作:菜单工具->INTERNET选项...

  上回曾贴一篇较简单的用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

client use rds produce excel report

client use rds produce excel report

责任编辑:admin
相关文章