上一篇:二十八条改善 ASP 性能和外观的技巧(1-7) >>
在ASP中编写DLL的问题
你所安装的第一个activex dll 文件将注册并安装visual basic 6 的运行时间文件,它允许运行经过编译的代码。但是要注意,这还要求重新启动服务器。当一个现存的dll被安装并使用之后,如果想要对其进行升级, 服务器就将给出一个错误信息提示,说此文件正被另一个过程所使用。要纠正这一问题,也要重新启动服务器后才能完成dll的升级。请记住在开发中要使用一个测试环境。
虽然这个例子非常简单,用一个asp包含文件就可以轻易地实现,但当开发 activex dll 时,你可以使用 visual basic 的全套基本指令、系统外壳指令以及所有控制台所能进行的操作,因此也就允许在线网站和内部互联网的全部自动控制。这样就把原来用asp包含文件实现的 activex dll 的性能进行了拓展。
在用组合框选择填充的数据库域中存储查询关键字的值,提高数据的完整性,轻易地在整个数据库中进行层叠式更新,这些都是很普通的操作。举例来说,现在有一个拼写错误的文本描述,可以在查循表中进行修改,所有选择了这个描述的相关条目都会自动地修改,因为我们已经存储了与这个描述相关的数字。组合框以查询表的内容为基础,这些内容将查询关键字的值与其描述联系起来,如果系统使用了许多查询的话,产生这些组合框的代码会变得非常重复。本文用 activex dll 来简化创建html组合框的程序,用一个数据库查询表中的内容进行填充。例子中的表名为lookup_table,它有以下域:
lookup_key: 存储在数据库中的值
lookup_field: 对查询元素进行分类
lookup_description: 显示在组合框中的描述
要创建activex dll,步骤如下:
开始一个新的visual basic 工程文件;
选择activex dll 作为工程文件类型;
在properties 窗口,命名类模块和工程文件。将工程文件命名为keiths_lookup ,将模块命名为lookup 。 asp引用dll函数时要使用这些名字。以后在asp码中,将要引用一个名为keiths_lookup.lookup的服务器对象。
用同样的名字保存工程文件和模块,其中工程文件的扩展名为.vbp ,类模块的扩展名为.cls 。在本例中 工程文件的名字为keiths_lookup,模块的名字为lookup。
在工程菜单中,选择references 。这是你可以使用的其它应用程序对象。在本例中,检查microsoft activex data objects 2.0 库和microsoft activex data objects recordset 2.0 库。
在包含查询表的iis服务器数据库中创建一个名为sumnet 的数据集。这个数据库没有用户名和口令。
现在可以键入以下代码:
public function html_combo(comboname as string, lookup_field as string) as string
dim outstring as string
dim conn as adodb.connection
dim rst as adodb.recordset
dim sqlstring as string
set conn = createobject("adodb.connection")
set rst = createobject("adodb.recordset")
sqlstring = "select [lookup_description],[lookup_key] from
[lookup_table] where [lookup_field] = " & lookup_field & ""
conn.open "dsn=sumnet;uid=;pwd=.;"
rst.open sqlstring, conn, 3, 3
if not rst.eof then
rst.movefirst
outstring = "< select name=" & comboname & " >"
do while not rst.eof
outstring = outstring & "< option value=" &
rst.fields("lookup_key") & " >" & _
rst.fields("lookup_description") & "< /option > "
rst.movenext
loop
end if
outstring = outstring & "< /select >"
html_combo = outstring
rst.close
conn.close
end function
然后,保存工程文件和类模块。
编译工程文件的步骤如下:
启动visual studio 6.0 工具中的package deployment wizard ;
选择刚才创建的activex 工程文件;
点击package;
选择打包脚本名或使用默认值;
选择standard setup ;
选择一个放置安装文件的文件夹;
选择单个cab;
点击next使用其它默认选项;
在iis服务器上运行setup。
现在可以通过asp代码使用dll,因为在系统数据库中它已经被注册了。下面的asp代码将使用所创建的ll内部的函数。它将产生三个组合框,一个用州来填充,一个用位置填充,另外一个用年龄组。第一个参数将成为网页上的对象名,第二个参数是用来填充组合框中查询域的值。
< %@ language="vbscript" % >
< %
set look = 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 >
这个例子非常简单。通过使用更多的参数,如表名、域名等,可以创建许多便携式的函数,这些函数可以用在你的工作中所遇到的各种各样的应用程序中。
因为这些代码是在服务器一端水平上运行的,所以客户机不需要安装任何东西。这仅仅是用activex dll所能实现的功能的小小的例子。只需要一点点努力,就可以得到一个在网络用户中不同凡响的多功能应用程序。
()
下一篇:asp性测能试报告(转)(八) >>
相关文章:
- · ASP调用带参数存储过程的几种方式
- · asp实现在web中显示电子表格数据(四)创建文件选择列
- · asp实现在web中显示电子表格数据(三)创建电子数据表列表和
- · asp实现在web中显示电子表格数据(二)生成HTML表格
- · asp实现在web中显示电子表格数据(一)显示数据表格的应
- · Asp与导航文件
- · 在FLASH中调用ASP
- · 有关win2000、IIS5中asp详细出错信息的显示
- · asp+的几个特点(二)
- · asp+的几个特点(一)
- · 列出 IE5 所支持的所有server端变量
- · 浅谈asp编程中的测试打印、有效性检查及错误处理
- · 提高IIS的安全性
- · 有关微软新一代开发技术ASP+的介绍
- · 最大限度优化你的Asp性能
- · ASP的技术特点与使用方法
- · ASP集合使用
- · ASP程序界面的多语言支持
- · ASP中实用的广告交替组件
- · ASP制作多用户版计数器
- · 用ASP构建音乐服务器
- · Othello游戏源程序
- · RecordSet分页例子
- · 动态网页制作技术JSP与ASP的比较
- · 用ASP创建Microsoft Word 文件
- · 加亮显示ASP文章原代码
- · ASP漏洞分析和解决方法(10)
- · ASP漏洞分析和解决方法(9)
- · ASP漏洞分析和解决方法(8)
- · ASP漏洞分析和解决方法(7)
- · ASP漏洞分析和解决方法(6)
- · ASP漏洞分析和解决方法(5)
- · ASP漏洞分析和解决方法(4)
- · ASP漏洞分析和解决方法(3)
- · ASP漏洞分析和解决方法(2)
- · ASP漏洞分析和解决方法(1)
- · 一个基于ASP的标题广告管理系统(三)
- · 一个基于ASP的标题广告管理系统(二)
