如何在pb中创建COM组件,并在asp中调用并返回结果集? 启动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() \\'www.knowsky.com %> <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基本上差不多,读者可以自己实践。 返回类别: 教程 上一教程: ASP环境下邮件列表功能的实现 (三) 下一教程: 关于如何读出图片的高度与长度的总结
您可以阅读与"如何在pb中创建COM组件,并在asp中调用并返回结果集?"相关的教程: · 如何在PB中创建COM组件,并在ASP中调用并返回结果集 · ASP调用ORACLE存储过程并返回结果集 · 在ASP中执行PING命令,并且返回结果 · 如何在ASP中通过ODBC调用EXCEL中的数据 · 在ASP中如何创建动态表-调用如下SP_EXECUTESQL
|