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

    技术2022-05-11  89

    启动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基本上差不多,读者可以自己实践。

    最新回复(0)