web前端

位置:IT落伍者 >> web前端 >> 浏览文章

怎样用PowerBuilder开发WEB应用


发布日期:2023年08月27日
 
怎样用PowerBuilder开发WEB应用

PowerBuilder中的WEB应用模块

PowerBuilder中含有开发WEB应用的模块通过这些模块可以连接WEB服务器与PowerBuilder应用.该模块包括以下及部分WebPB:是几个可以在WEB服务器上执行的程序被服务器激活后调用PowerBuilder应用完成客户端任务和对数据库的事务操作.Plug_ins(插入件)包括Window plug_in和Datawindow Plug_in此方式可将PowerBuilder对象嵌入到页面中在浏览器端执行PowerBuilder应用.Window Activex:此方式与Window plug_in类似 所不同在于该方式可以和HTML中的JavaScriptsVBscripts交互.本文主要讨论利用WebPB开发WEB应用.

用WebPB开发WEB应用

WebPB本身就是个CGI程序它提供了从服务器到PowerBuilder应用的访问.所以在WebPB之上可以利用PowerBuilder的强大功能开发复杂的WEB应用如采用PowerBuilder的PowerScripts语言环境数据窗口技术等.PowerBuilder的WEB应用构建前提是分布式应用体系.PowerBuilder的客户端应用分布到WEB服务器上可将WebPB看作为客户端应用.当客户端应用WebPB被WEB服务器激活后调用PowerBuilder的服务器应用执行在服务器应用中定义的方法实现业务逻辑

这种模式是真正的客户机模式客户端不需要安装其它软件只安装浏览器软件.所有的事务操作都在服务器端完成下面将结合实例详细说明

利用PowerBuilder开发一个网上购书应用.对于分布式PowerBuilder应用首先应向客户WebPB指明PowerBuilder服务器应用在网络上的位置(Location)其应用名使用文件PBWEBINI来记录服务器应用信息.在此例中取服务器应用名为TUTORIAL Driver=Winsock Application=/tcp Location=Localhost

建一个数据库(book_dealing)其中有三个表分别为

book b_name b_no b_publisher b_priceb_num

customer c_name c_telc_addr

dealing b_name c_name d_num d_time

建一个数据窗口dw_book其SQL语法为

SELECT bookb_name

bookb_no

bookb_publisher

bookb_price

bookb_num

FROM book

创建PB服务器应用的用户界面在窗口w_server上有两个按钮cb_cb_再定义一个transport类型的实例变量mytransportcb_的clicked事件有关程序如下

mytransport = create transport

mytransport driver = winsock

mytransportlocation = localhost

mytransportapplication =

创建一个不可视的用户对象u_internet定义一个transaction类型的全局变量mytransaction在该用户对象的constructor事件中定义连接到数据库(book_dealing)的事务对象mytransaction和连接到数据库(webpb)的事务对象sqlca在该对象的destructor事件中分别取消这两个事务对象

在u_internet上定义两个函数分别为f_book f_book_dealing这两个函数的返回值都为字符类型在f_book中利用数据窗口dw_book作数据库查询再利用数据窗口的属性将查询结果以HTML形式返回给webpb有关程序如下

string return_html

datastore dd

dd = create datastore

dddataobject = dw_book

ddsettransobject(mytransaction)

ddretrieve()

return_html=return_html+ddobjectdatawindowdatahtmltable

return return_html

在函数f_dealing中定义参数分别为book_name deal_num custom_name deal_time custom_tel custom_addr用来接受FORM元素传来的信息再利用PowerScripts语言对数据库(book_dealing)进行修改有关程序如下

string return_html

…………

connection using mytransaction;

insert into customer

(c_name

c_tel

c_addr)

values( :custom_name :custom_tel :custom_addr);

insert into dealing

(b_name

d_num

d_time

c_name)

value(:book_name :deal_num :deal_time :custom_name);

if mytransactionsqlcacode> then

return_html=定货成功!

else

return_html=定货失败!

endif

………

return return_html

主页上的浏览书库的超连接为A HERF=/scripts/pbcgiexe/tutorial/u_internet/f_book〉 浏览书库</A>

定书信息页上应有几个单行编辑器用来录入用户购书信息(例如:书名用户名购书数量等等)其FORM元素的ACTION为

<form action= /scripts/pbcgiexe/tutorial/u_internet/f_book_dealingmethod= get>

以上程序可实现简单的网上购书的功能既用户可浏览书库也可订购所需的图书

上一篇:利用POWERBUILDER开发数据库的WEB查询

下一篇:用Powerbuilder开发WEB数据库