在ASP中调用DLL时的返回值的问题(100分)!

Algernon 2003-10-17 09:42:48
我在ASP中调用DLL来操作数据库,DLL中的返回值应该用什么类型的?在ASP中怎么取?
我用了下面的方法,但返回值好像ASP不认,我用的是返回一个结构
Set obj = Server.CreateObject("DLL")

请教各位有什么好点的办法,我主要是想从数据库中取出N条记录然后填到下拉框中
...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhan3 2003-10-17
  • 打赏
  • 举报
回复
同意楼上的
Reker熊 2003-10-17
  • 打赏
  • 举报
回复
==>
Set bbb=Server.CreateObject("ADODB.RecordSet")
Set bbb=aaa.getNameByIDWithArray("BI001")
bbb是對象,不是變量

Algernon 2003-10-17
  • 打赏
  • 举报
回复
我顶一下
Algernon 2003-10-17
  • 打赏
  • 举报
回复
dim aaa,bbb
set aaa = Server.CreateObject("myResume.clsResumeExcute")
aaa.getNameByIDWithArray("BI001")
response.write aaa.getNameByIDWithArray("BI001")("CID")
將RS以Variant類型返回是可以了,但为什么我现在只能这样取数据

如果这样
dim aaa,bbb
set aaa = Server.CreateObject("myResume.clsResumeExcute")
bbb = aaa.getNameByIDWithArray("BI001")
If not bbb.eof then
  Do while not bbb.eof
    response.write bbb("CID")
    bbb.movenext
  Loop
End if
就报是"bbb = aaa.getNameByIDWithArray("BI001")"的错,怎么回事?
Reker熊 2003-10-17
  • 打赏
  • 举报
回复
COM中

Public Function abc() As Variant
....
End Function

可以將RS以Variant類型返回,因為asp是弱類型檢查,所以需要返回自動識別類型
Algernon 2003-10-17
  • 打赏
  • 举报
回复
我想知道的是反回的RS在ASP中怎么处理?
RS我已经可以返回了,但就是返回的RS在ASP中不认!
ttt2 2003-10-17
  • 打赏
  • 举报
回复
Dim cn As ADODB.Connection
Dim rs As ADODB.recordset


Public Function abc() As ADODB.recordset
Set cn = New ADODB.Connection
cn.Open "driver={sql server};uid=sa;pwd=abc;server=zhao;database=pubs"
Set rs = New ADODB.recordset
rs.Open "select * from authors", cn, 1, 3
Set abc = rs

End Function
由本人第一次尝试制作的录像视频教程,由于电脑速度较慢,播放间较慢,请谅解。 本录像讲解最基础的VB封装ASP代码生成DLL的制作教程,适合初级学习者参考。也是本人学习VB制作ASP组件的第一个尝试,录像基本成功。 用vb编写asp组件(dll)示例 下面,将演示如何使用vb制作aspdll组件... 1. 启动你的vb,选择activex dll图标,然后在点击菜单的工程>>引用,接 着在弹出的"引用"窗口从选择 microsoft active server pages object library. 2. 给工程和类重命名,在asp调用,就全靠它了^_^!我们的工程名改 为aspdll,类名为demo.在asp调用的方法是: set objreference = server.createobject("工程名.类名") 本例调用的相应代码如下: set objreference = server.createobject("aspdll.demo") 调用的方法和一般常见的,比如fso等组件的方法一模一样. 心动了吧,呵呵,下面我们继续.... 3. 接着,我们开始编写代码,打开我们刚才新建工程类窗口,第一步,先声 明我们要用到的变量.主要是在vb声明替代asp几大对象的变量名,定义这 asp的几大对象后,我们就可以像在asp环境调用类似request,server等 这样的几大对象了.(声明的变量名完全可以和asp对象名一样)代码如下: '********************************************** private mys criptingcontext as s criptingcontext private myapplication as application private myrequest as request private myresponse as response private myserver as server private mysession as session '********************************************** 4. 声明完变量后,我们必须在类写onstartpage子函数.本函数的作用是 当用户访问一个带有本组件的asp文件,iis就会把s criptingcontext传 送给我们vb组件对象.这个s criptingcontext包括了全部的asp方法和属性 .这样,就使得我们有能力访问所有asp的对象.代码如下: '***************************************************************** public sub onstartpage(passeds criptingcontext as s criptingcontext) set mys criptingcontext = passeds criptingcontext set myapplication = mys criptingcontext.application set myrequest = mys criptingcontext.request set myresponse = mys criptingcontext.response set myserver = mys criptingcontext.server set mysession = mys criptingcontext.session end sub '***************************************************************** 通过上面的函数,我们在asp调用本组件后,上面的几大对象就完全可以 像平我们在asp使用一样了,举个例子: 在asp实现接收提交的表单值并输出屏幕: <% formvalue=request.form("username") response.write ("你提交的用户名是"&myformvalue&",欢迎您!") %> 在vb实现方法是: formvalue=myrequest.form("username") myresponse.write ("你提交的用户名是"&myformvalue&",欢迎您!") 5. 相对应于onstartpage函数,我们还要编写一个关闭onstartpage对象 的onendpage函数,代码如下: '********************************* public sub onendpage() set mys criptingcontext = nothing set myapplication = nothing set myrequest = nothing set myresponse = nothing set myserver = nothing set mysession = nothing end sub '******************************** 6.通过编写上面的代码,我们在vb编写asp组件实例的环境已经具备了, 下面,我就尝试写两个与asp基本相类似的函数,也就是说,关键部位就在 这里了,你完全可以把你所有的asp源码封装在这里... 先写个最简单的输出屏幕信息函数: '******************************************** public sub welcomeinfo() myresponse.write ("阿里西西_web开发,欢迎访www.alixixi.com!") end sub '******************************************** 再写个带参数传递及显示now()现在间的函数: '********************************** public sub setinfo(content as string) myresponse.write content & "
" myresponse.write "现在的间是:" & now() end sub '********************************** 通过上面的asp代码实例,你会发现其实这和asp源码基本没有区别^_^ 7. 好了,整个类就编写完了,我们开始打包封装成dll.我们先保存工程, 这里我们保存到e:\vbdll,接着选择菜单上的文件>>生成aspdll.dll,很 快的dll组件就封装并生成完毕了. 8. 生成dll文件后,我们开始调试和使用.在系统运行栏输入cmd,进入dos 命令行状态,我们要注册刚才生成的dll组件,注册方法是可以直接输入 regsvr32 e:\vbdll\aspdll.dll ,为了安装方便,你同可以写个批处理 文件,这里不一一举例了...好,注册成功! 9.注册完dll组件后,我们针对刚才的组件,按照上面介绍过的方法编写一 个asp文件来调试.代码如下: <% set redll = server.createobject("aspdll.demo") redll.welcomeinfo response.write "
" redll.setinfo("传递参数到服务器组件,并返回值及当前日期now()!") response.write "
" set redll = nothing %> 在iis打开此文件,屏幕显示:
《月影短信》免费编程接口(DLL): §DLL文件大小不足250K,却包含了手机短信息发送、电子邮件特快专递、网络拨号管理、http下载等编程接口。 §单一的DLL文件,体积小巧,不需要附加任何控件或者运行支持库。 §完全免费,您可以任意复制、转载,或者包含在您的软件打包发行。 §使用Windows标准DLL方式,广泛支持Delphi、VB、VC++、C++Builder、VFP、PB等流行开发工具,尤其与Delphi、VFP等配合极佳。 §规范的传递参数及返回值,运行结果、状态直观,便于您的程序进行判断处理。 §凡是“耗”操作(例如发送短信、发送邮件、下载文件)都提供内置进度条,用户可以根据网络情况随终止。软件作者也可以通过传递参数屏蔽进度条。 §免安装,拷贝到当前目录或者Windows的System目录即可调用,删除就是卸载,没有残留文件或者注册表垃圾。 §编程接口开放、友善,充考虑软件开发者的切身需要,把软件开发者的编程工作量降至最低。 §支持各大短信联盟、自定义短信联盟代号、手机号码批量发送、国际区号、自定义落款等等,与任何硬件设备完全无关,也不依赖任何手机或单一平台。 §支持电子邮件特快专递,自动监测当前DNS、MX服务器,支持发送回执请求,无需软件作者和用户进行任何技术设置。 §支持自动拨号、自动挂断、拨号连接列表、取得拨号连接状态。 §支持下载二进制文件、网页、动态URL等等,下载进度条可以随断。 §简明扼要的调用参数,详细的说明文档,下载后包含Delphi、VB、VFP等编程示例,示例程序包含exe及源代码。 §继续支持原来的《月影短信委托发送管理接口》,局域网络只需一个xml文件,即可轻松调用服务器上的《月影短信》委托发送管理器。 §鉴于ASP不支持标准DLL调用,可以使用《月影短信委托发送》调用方式,特别提供COM接口(kkstar_com.dll)供ASP加密xml文件,保护使用者的个人隐私。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧