哪位大富翁帮忙写一个b/s的例子,用Delphi写Com+,Asp调用,显示一个表的内容即可!(200分)

  • 主题发起人 主题发起人 zhaojq
  • 开始时间 开始时间
Z

zhaojq

Unregistered / Unconfirmed
GUEST, unregistred user!
要求Win2000+IIS+‘Delphi写的Com+’+Asp调用
要求打开页面就能看到表的信息,表可以很简单,用ADO连接即可,当然提供查询功能最好了!
粘到这也行,发到邮箱也行,本人初学Com望各位大富翁不吝赐教!即刻给分!
Email:jqpublic@126.com
多谢!
 
这个问题我已经会了!请教一个新问题!
我写了两个com组件,ActionObj和DataObj。ActionObj封装业务逻辑,DataObj封装数据库操作。
DataObj定义一方法GetData返回类型是ADO原生对象_RecordSet。代码如下:
function TDataObj.GetData: Recordset;
begin
Result := dstTitles.Recordset as ADODB_TLB._Recordset ;
end;

ActionObj定义一方法GetComData返回类型也是ADO原生对象_RecordSet。代码如下:
function TActionObj.GetComData: ADODB_TLB._Recordset;
var
getrcddm : IDataObj ;
begin
getrcddm := CoDataObj.Create ; //创建DataObj对象
Result := getrcddm.GetData ; //返回DataObj对象所得到的RecordSet
end;

然后在ASP里调用代码如下:
Set NetTestASPObj = Server.CreateObject("GetData.ActionObj")
Set temp = NetTestASPObj.GetComData()

while not temp.eof
response.write "<tr>"

for i = 0 to temp.fields.count -1

response.write "<td align = center>"

response.write temp.fields(i).value

response.write "</td>"

next

response.write "</tr>"

temp.movenext
wend
浏览器提示:
ADODB.Recordset 错误 '800a0e78'
Operation is not allowed when the object is closed.
意思是数据集处于关闭状态。我不明白为什么?请问怎么解决?
如果前两行换成:
Set NetTestASPObj = Server.CreateObject("GetData.DataObj")
Set temp = NetTestASPObj.GetData()

即直接调用DataObj对象的GetData方法就行!
请各位大富翁指教哇!
 
我顶!
张无忌大侠在不在呀!请教!
 
返回数据集 ASP本身就可以做 多此一举嘛。
 
是这样的,我也被这个问题困扰过。记录集返回到ASP时,访问当前记录可以,但游标不可以滚动,即,返回的似乎只是一条记录,但用DELPHI取得这个返回值,却可以顺利地转换成数据集。最后,我只能转着弯子做(把ASP的处理也写到另一个COM里面了,只输出HTML字符串,由ASP接收和输出,但是这样不灵活,比如当界面需要改动时,COM就要大规模地改)
 
接受答案了!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部