ASP教程之一篇关于客户端用ASP参生报表的好东东(...
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。初级|客户端上回曾贴一篇较复杂的用ASP+RDS客户端参生报表此回贴一篇较庞大的用ASP+RDS+组件客户端参生报表
毛病申明:(若提醒ActiveX元件没法参生RDS.DataSpace)
IE需设置平安选项
操纵:菜单工具->INTERNET选项->平安性->自界说
设置:肇端但ActiveX不标示为平安->开启
道理申明:
客户端间接用RDS发生RecordSet平安性不敷,利用了
middle-tierAutomationcomponents后可年夜年夜增添平安性!
请看下文:
编写注册元件:
ActiveXDllproject:iacrdsobj.vbp
ClassModulename:RsOp
PublicFunctionReturnRs(strDBAsVariant,strSQLAsVariant)AsADODB.Recordset
ReturnsanADODBrecordset.
OnErrorGoToehGetRecordset
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrConnectAsString
strConnect="Provider=SQLOLEDB;Server=servername;uid=sa;pwd=;Database="&strDB&";"
cn.OpenstrConnect
Thesearenotlistedinthetypelib.
rs.CursorLocation=adUseClient
UsingtheUnspecifiedparameters,anADO/Rrecordsetisreturned.
rs.OpenstrSQL,cn,adOpenUnspecified,adLockUnspecified,adCmdUnspecified
SetReturnRs=rs
ExitFunction
ehGetRecordset:
Err.RaiseErr.Number,Err.Source,Err.Description
EndFunction
然后MAKEiacrdsobj.dll
如有错,请设置VB菜单PROJECT-REFREENCE
增添MicroSoftActiveXDataObject2.6Library(固然数字要高一点)
然后注册iacrdsobj.dll到数据库server(为平安,最好变动数据库uid最好不为sa)!
好,接上去看asp
long1.asp
<html>
<head>
<METAcontent="text/html;charset=gb2312"http-equiv=Content-Type>
<title>clientuserdsproduceexcelreport</title>
</head>
<bodybgColor=skybluetopMargin=5leftMargin="20"oncontextmenu="returnfalse"rightMargin=0bottomMargin="0">
<divalign="center"><center>
<tableborder="1"bgcolor="#ffe4b5"style="HEIGHT:1px;TOP:0px"bordercolor="#0000ff">
<tr>
<tdalign="middle"bgcolor="#ffffff"bordercolor="#000080">
<fontcolor="#000080"size="3">
clientuserdsproduceexcelreport
</font>
</td>
</tr>
</table>
</div>
<formaction="long1.asp"method="post"name="myform">
<DIValign=left>
<inputtype="button"value="QueryData"name="query"language="vbscript"onclick="fun_excel(1)"style="HEIGHT:32px;WIDTH:90px">
<inputtype="button"value="ClearData"name="Clear"language="vbscript"onclick="fun_excel(2)"style="HEIGHT:32px;WIDTH:90px">
<inputtype="button"value="ExcelReport"name="report"language="vbscript"onclick="fun_excel(3)"style="HEIGHT:32px;WIDTH:90px">
</div>
<DIVid="adddata"></div>
</form>
</body>
</html>
<scriptlanguage="vbscript">
subfun_excel(t)
Dimrds,rs,df,ServerStr
dimstrSQL,StrRs
DimxlApp,xlBook,xlSheet1
ServerStr="http://SqlServerName"thesqlservernameofregisteriacRDSObj.dll
userdstoproduceclientrecordset
</p>asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了! 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
页:
[1]