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