用delphi做的asp组件怎样返回数据(100分)

  • 主题发起人 主题发起人 不不
  • 开始时间 开始时间

不不

Unregistered / Unconfirmed
GUEST, unregistred user!
我试了很多次,好象在类型库中不能加函数,只能加过程,
如果我要返回由ado取到的一个数据集改如何做?
 
可以返回ADO.Recordset
 
请详细点好吗,我每次在类型库中声明新函数(function)总是不成功
 
你先查查吧,看有没有类似的问题问过!
如果没有,我再详细的告诉你!
 
请给我一个例子好么,一个简单的组件,返回一个数据集
 
我也遇到类似的问题!听听高手怎么说?
 
类型库中返回类型置为OleVariant,因为ASP不能直接使用COM接口。
方法中
Result:=ADOConnection1.Execute('select * from abc');
就可以了。
 
我在接口中怎么没法返回值,不知道事什么原因
 
以Delphi6为例:
1. 请把Tools->Environment options->Type Library->Language设为Pascal。
2. Tools->New->Others->ActiveX->ActiveX Library,保存该Project,如工程保存为Qwe。
3. Tools->New->Others->ActiveX->Automation Object,输入类名,如Abc,在ASP中就可以用
Server.CreateObject("Qwe.Abc")建立COM组件的实例了。
4. 在类型库(本例为Qwe.tlb,按Ctrl+F12,选择Qwe_TLB,按F11就可以显示类型库了)中选择
接口IAbc,选择右键菜单New->Method,设新建方法名称为Method1,在右边的PageControl中选择
Parameters页,Return type选为OleVariant,选择工具栏中Refresh implementation,Delphi会
生成接口等源码。
5. 在Method1相应的方法体内填写代码。
如(以下代码纯属演示,由于效率原因,实际代码应采取数据库连结池等方式连接数据库):
uses
ADOInt, ADODB,
...
function TAbc.Method1: OleVariant;
var
ADOConnection:TADOConnection;
begin
ADOConnection:=TADOConnection.Create(nil);
try
ADOConnection.ConnectionString:='xxxxxxxxxxxxxx';
ADOConnection.Open;
try
Result:=ADOConnection.Execute('select * from xxx');
finally
ADOConnection.Close;
end;
finally
ADOConnection.Free;
end;
end;
6. 编译,Run->Register ActiveX Server.
7. ASP中
Set obj=Server.CreateObject("Qwe.Abc")
Set v=obj.Method1
while v.EOF=false
.............
v.MoveNext
wend
8. That's all. Thank you.
 
学习~~~~~~~~~~~
关注~~~~~~~~~~~~~
 
kyq大哥,您能教教我怎么用用DLPHI与ASP实现数据库查询吗?
我刚刚学,谢谢…………
 
Sorry, 最近较忙,稍后提供吧,OK?
 
好,没问题,你有时间就告诉我,
发到信箱里也可以strchi@163.com
非常感谢
 
后退
顶部