您的位置信息之舟电 脑硬件栏目首页数据库类PowerBuilder 收藏本页

→ 利用POWERBUILDER开发数据库的WEB查询二

www.kepusoft.com 信息之舟电脑软件应用栏目

    信息之舟电脑软件应用栏目编者按: 六、创建Powerbuilder应用程序

    1、 新建一个应用(myapp)。

    2、 新建一个窗口(w_1),定义一个instance 变量(i_server_transport)。

    3、 单击应用画板中的script按钮,为myapp应用的open事件编写代码如下:

    open(w_1)

    4、 打开窗口w_1,为它的open事件编写代码如下


    int li_ListenReturnCode
    /*创建传输对象,并设置其属性*/
    i_server_transport = CREATE transport
    i_server_transport.driver="winsock" //采用TCP/IP协议
    i_server_transport.application="myapp" //应用名称
    i_server_transport.location="HFSA" //本地连接
    /*监听客户,并返回状态值*/
    li_ListenReturnCode= i_server_transport.Listen()
    if(li_ListenReturnCode< >0) then
    MessageBox("服务器监听出错"&
    "服务器不能正常进行监听:~r~n~r~n"+&
    "请确保当前TCP/IP服务不能被其它埠占据,以及"+&
    "myapp 10015/tcp",stopsign!)
    Halt
    Endif

    5、 为w_1的close事件编写代码如下:

    i_server_transport.stopListening() //停止在埠的监听
    DESTORY i_server_transport //从内存中清除传输对象
    close(parent)

    6、 创建一个datawindow(d_zy),查询条件为日期、时间。这是POWERBUILDER的特色之一,这里就不作详细解释。

    7、 定义一个用户对象u_web_ct1,并定义一个UserObject Function f_get_2a01(integer date,integer time) return string

    其代码如下:

    datastore ds_tf
    string ls_html
    int li_rowcount
    //连接数据库
    sqlca.DBMS="SYC Sybase System 10 CTLIB"
    sqlca.Database="exsydb"
    sqlca.UserId="sa"
    sqlca.Dbpass=""
    sqlca.LogPass=""
    sqlca.ServerName="HFWG2_SYB"
    sqlca.LogId="sa"
    sqlca.DbParm=""


    connect using sqlca;

    if sqlca.sqlcode < > 0 then
    Messagebox(" ","connect error")
    end if

    ds_tf = create datastore

    ds_tf.dataobject="d_a01"
    ds_tf.SetTransObject(sqlca)
    li_rowcount=ds_tf.Retrieve(date,time)

    if li_rowcount=0 then
    disconnect using sqlca;
    return "no record!"
    elseif li_rowcount< 0 then
    disconnect using sqlca;
    Return "retrieve failure!"
    end if


    ls_html = ds_tf.Object.DataWindow.data.HTMLTable


    destroy ds_tf
    disconnect using sqlca;

    return ls_html


    七、 使用

    1、在主页中添加如下代码:

    < form name="form1" method="post"
    action="http://134.65.5.212/scripts/
    pbcgi60.exe/internet/u_web_ct1/f_get_2a01?" >

    < font size="-3" >< b >< p >日期: < input type="text" name=
    "date" size="20" > < /b >< /font >< /p >
    < p >< b >< font size="-7" >时间: < /font >< font size="-3" >
    < input type="text" name="time" size="20" > < /font >< /b >< /p >
    < p >< input type="submit" name="Submit" value="Submit" > < /p >
    < /form >

    2、运行myapp应用,启动浏览器,输入日期和时间,结果如下:


    八、小结

    由于POWERBUILDER是专业级的数据库开发工具,可以不受数据库的种类和平台的限制,采用它的WEB.PB技术来进行Internet/Intranet开发,能够将开发者的精力都集中到业务逻辑的实现上,而不是花费大量的时间去考虑和数据库连接的问题。这种基于浏览器/服务器结构的应用优势在于系统的维护简单,几乎所有的工作都集中在WEB服务器上,大大减少了对多个客户端的维护工作。另外,由于能够将运算任务合理地分布在浏览器和服务器之间,整个系统运行的费用也将大大降低。

www.kepusoft.com 信息之舟电脑之家收集整理推荐文章