仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 778|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计在ASP中编写DLL的成绩

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:56:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。成绩ActiveXDLL能够用来回护代码的一些部分,由于作为开辟职员我们晓得,用ASP举行事情时,源代码把持是一个困难而噜苏的历程。ActiveXDLL是经由编译的代码,没有工程文件中的源代码就不克不及对其举行修正。这就给开辟职员带来很多大概:开辟主动操纵大众程序的程序并将它们作为共享软件来分发,分发最少有一些源代码回护的ASP使用程序,不休开辟本人的ASP程序指令,以在一个全方位多功效的了局中进步ASP的功能。

  你所安装的第一个ActiveXDLL文件将注册并安装VisualBasic6的运转工夫文件,它同意运转经由编译的代码。可是要注重,这还请求从头启动服务器。当一个现存的DLL被安装并利用以后,假如想要对其举行晋级,服务器就将给出一个毛病信息提醒,说此文件正被另外一个历程所利用。要改正这一成绩,也要从头启动服务器后才干完成DLL的晋级。请记着在开辟中要利用一个测试情况。

  固然这个例子十分复杂,用一个ASP包括文件就能够容易地完成,但当开辟ActiveXDLL时,你可使用VisualBasic的全套基础指令、体系外壳指令和一切把持台所能举行的操纵,因而也就同意在线网站和外部互联网的全体主动把持。如许就把本来用ASP包括文件完成的ActiveXDLL的功能举行了拓展。

  在用组合框选择添补的数据库域中存储查询关头字的值,进步数据的完全性,容易地在全部数据库中举行层叠式更新,这些都是很一般的操纵。举例来讲,如今有一个拼写毛病的文本形貌,能够在查循表中举行修正,一切选择了这个形貌的相干条目城市主动地修正,由于我们已存储了与这个形貌相干的数字。组合框以查询表的内容为基本,这些内容将查询关头字的值与其形貌接洽起来,假如体系利用了很多查询的话,发生这些组合框的代码会变得十分反复。本文用ActiveXDLL来简化创立HTML组合框的程序,用一个数据库查询表中的内容举行添补。例子中的表名为lookup_table,它有以下域:

Lookup_Key:存储在数据库中的值
Lookup_Field:对查询元素举行分类
Lookup_Description:显现在组合框中的形貌
  要创立ActiveXDLL,步骤以下:

入手下手一个新的visualbasic工程文件;
选择ActiveXDLL作为工程文件范例;
在Properties窗口,定名类模块和工程文件。将工程文件定名为keiths_lookup,将模块定名为lookup。ASP援用DLL函数时要利用这些名字。今后在ASP码中,将要援用一个名为keiths_lookup.lookup的服务器工具。
用一样的名字保留工程文件和模块,个中工程文件的扩大名为.vbp,类模块的扩大名为.cls。在本例中工程文件的名字为keiths_lookup,模块的名字为lookup。
在工程菜单中,选择References。这是你可使用的别的使用程序工具。在本例中,反省MicrosoftActiveXdataobjects2.0库和MicrosoftActiveXDataObjectsRecordset2.0库。
在包括查询表的IIS服务器数据库中创立一个名为Sumnet的数据集。这个数据库没有效户名和口令。

  如今能够键进以下代码:


PublicFunctionhtml_combo(combonameAsString,Lookup_fieldAsString)AsString

DimoutstringAsString
DimconnAsADODB.Connection
DimrstAsADODB.Recordset
DimsqlstringAsString

Setconn=CreateObject("ADODB.Connection")
Setrst=CreateObject("ADODB.Recordset")

Sqlstring="SELECT[Lookup_Description],[Lookup_Key]FROM
[Lookup_Table]WHERE[Lookup_Field]="&Lookup_Field&""

conn.Open"DSN=Sumnet;UID=;PWD=.;"
rst.Opensqlstring,conn,3,3
IfNotrst.EOFThen
rst.MoveFirst
outstring="<Selectname="&comboname&">"
DoWhileNotrst.EOF
outstring=outstring&"<OptionValue="&
rst.Fields("lookup_key")&">"&_
rst.Fields("lookup_description")&"</Option>"
rst.MoveNext
Loop
EndIf

outstring=outstring&"</Select>"
html_combo=outstring
rst.Close
conn.Close

EndFunction

  然后,保留工程文件和类模块。

  编译工程文件的步骤以下:

启动VisualStudio6.0工具中的PackageDeploymentWizard;
选择方才创立的ActiveX工程文件;
点击Package;
选择打包剧本名或利用默许值;
选择StandardSetup;
选择一个安排安装文件的文件夹;
选择单个cab;
点击Next利用别的默许选项;
在IIS服务器上运转setup。

  如今能够经由过程ASP代码利用DLL,由于在体系数据库中它已被注册了。上面的ASP代码将利用所创立的LL外部的函数。它将发生三个组合框,一个用州来添补,一个用地位添补,别的一个用岁数组。第一个参数将成为网页上的工具名,第二个参数是用来添补组合框中查询域的值。


<%@Language="VBSCRIPT"%>
<%
Setlook=Server.CreateObject("keiths_lookup.lookup")
%>

<HTML><BODY>

<%=look.html_combo("State","States")%>
<%=look.html_combo("Position","Positions")%>
<%=look.html_combo("Age_group","Age_Groups")%>

</BODY>
</HTML>

  这个例子十分复杂。经由过程利用更多的参数,如表名、域名等,能够创立很多便携式的函数,这些函数能够用在你的事情中所碰到的林林总总的使用程序中。

  由于这些代码是在服务器一端程度上运转的,以是客户机不必要安装任何器材。这仅仅是用ActiveXDLL所能完成的功效的小小的例子。只必要一点点勉力,就能够失掉一个在收集用户中与众不同的多功效使用程序。
</p>Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;
蒙在股里 该用户已被删除
沙发
发表于 2015-1-20 06:24:17 来自手机 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
莫相离 该用户已被删除
板凳
发表于 2015-1-24 16:33:18 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
若天明 该用户已被删除
地板
发表于 2015-1-25 22:10:15 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
只想知道 该用户已被删除
5#
发表于 2015-1-30 14:24:15 来自手机 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
6#
发表于 2015-2-7 08:25:54 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-2-21 06:05:32 | 只看该作者
掌握asp的特性而且一定要知道为什么。
小女巫 该用户已被删除
8#
发表于 2015-3-6 19:39:49 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
海妖 该用户已被删除
9#
发表于 2015-3-13 07:08:18 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-6 12:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表