如何在pb中创建COM组件,并在asp中调用并返回结果集?

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

启动pb7.0,创建一个不可视的用户对象"uo_customer",新建"object",选择"custom class"

类型,点击"ok"。

在新创建的用户对象中编写如下程序:

1.声明实例变量"instance variables",对于com中不支持的类型,请声明为protected类型。protected:

datastore ds_datastore

2.新建三个成员函数:

int uf_connect()//用于连结数据库与创建datastore对象。

代码:

sqlca.dbms="odbc"

sqlca.database="webdw"

sqlca.autocommit=false

sqlca.dbparm="connectstring=''dsn=webdw;uid=dba;pwd=sql''"

connect using sqlca;

ds_datastore =create datastore

if sqlca.sqlcode=0 then

return 1

else

return -1

end if

void uf_disconnect()//用于断开数据库连结和释放datastore对象。

if isvalid(ds_datastore) then destroy ds_datastore

disconnect using sqlca;

resultset uf_retrieve()//读取客户信息

resultset lrs_customers

ds_datastore.dataobject="d_customer"

ds_datastore.retrieve()

ds_datastore.generateresultset(lrs_customers)//生成结果集

return lrs_customers//返回结果集

最后,保存改对象为"uo_customers"。

制作一个com组件的工程

新建"project",选择"Com/mts component wizard",确定。

给工程定义一个名字"p_recordset_com"

接下来,选择要生成com的用户对象"uo_customer"

设置生成com组件后的接口属性,这里可以使用缺省。

然后自己定义组件的program id为"pb70.uocustomer",

然后选择该com组件的dll文件名,单击"new",生成"component server appid",

同样生成"type library id",最后,选择pb资源文件名,以及注册方式,之后,系统会

给出用户设置的大致信息,然后选择生成"to do list"

这样就完成一个生成com组件的工程,名为"p_test_com"。

编译工程并注册组件

打开已经生成的工程,选择相应的pbl文件及用户对象,编译就可以了

下面我们创建asp网页来调用这个pb com

<head><title>pb com</title></head>

<body>

<%

set customers=server.createobject("pb70.uo_customers")

iflag=customers.uf_connect()

set rs=customers.uf_retrieve()

%>

<table>

<%rs.movefirst

do while not rs.eof

%>

<tr>

<td><%=rs("lname")%></td>

<td><%=rs("address")%></td>

<td><%=rs("city")%></td>

</tr>

<%rs.movenext

loop

rs.close

customers.uf_disconnect()

%>

</table>

</body>

保存成asp文件

最后,在浏览器中就可以浏览这个asp文件了

说明:pb7.0和pb8.0基本上差不多,读者可以自己实践。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航