编程语言的PB

编程语言的PB,第1张

powerbuilder

对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。

PowerBuilder开发环境由一系列集成的图形画板(Painter)组成,应用开发人员通过简单的鼠标 *** 作即可设计、建立、交互检验和测试客户/服务器应用程序。

PowerBuilder的产生

PowerBuilder是美国著名的数据库应用开发工具生产厂商PowerSoft推出的成功产品,其第一版于1991年6月正式投入市场。它是完全按照客户/服务器体系结构研制设计的,采用面向对象技术,图形化的应用开发环境,是数据库的前端开发工具。

PowerBuilder的特点

它支持应用系统同时访问多种数据库,其中既包括Oracle,Sybase之类的大型数据库,又包括FOXPRO之类支持ODBC接口的小型数据库,PowerBuilder是完全可视化的数据库开发工具,它提供了大量的控件,大大加快了项目的开发速度,也使开发者更容易掌握数据库的开发。

它使用的编程语言叫做工PowerScripr,它也是一种高级的,结构化的编程语言。PowerScript提供了一套完整的嵌入式SQL语句,开发人员可以像使用其它语句一样自由地使用SQL语言,这样就大大增强了程序 *** 纵和访问数据库的能力。可以说PowerBuilder既适合初学者快速学习数据库的开发,又可以让有经验的开发人员开发出功能强大的数据库,是一种适用面非常广的开发工具。

PowerBuilder是一个用来进行客户/服务器开发的完全的可视化开发环境。使用PowerBuilder,你可以用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。这是一个总的概念,实际上是开发人员使用PowerBuilder去开发应用程序,由于所开发的各种应用程序充分利用了图形用户接口(GUI)的优点,所以PowerBuilder被认为是一个图形工具。

在客户/服务器结构的应用中,PowerBuilder具有描述多个数据库连接与检索的能力。特别是PowerBuilder能从大多数流行的RDBMS中存取数据,且不管数据存放在什么地方;另外,各种应用程序又可以独立于RDBMS,因为PowerBuilder可以使用数据库的标准 *** 作语言SQL(结构化查询语言)进行。

使用PowerBuilder,可以很容易地开发出功能强大的图形界面的访问服务器数据库的应用程序,PowerBuilder提供了建立符合工业标准的应用程序(例如订单登记、会计及制造系统)所需的所有工具。

PowerBuilder应用程序由窗口组成,这些窗口包含用户与之交互的控件。开发人员可以使用所有标准空间(如按钮、复选框、下拉式列表框或编辑框)以及PowerBuilder提供的特殊的使应用程序更易于开发和使用的控件。

通常人们把PowerBuilder看成是一种开发工具,实际上它比其他工具强得多,是一种强有力的开发环境。开发人员不仅能用它来开发用户容易使用的各种应用程序还可以通过PowerBuilder修改数据库,利用400多个内部定义函数,可以开发能和其他应用程序进行的各种应用程序。

PowerBuilder正在成为客户/服务器应用开发的标准。相对于其他任何客户/服务器开发环境,PowerBuilder使开发人员的工作更快、成本更低、质量更高、功能更强。

PowerBuilder为应用开发提供了全面综合性的支持,可以分别概括为如下几点:

事件驱动的应用程序

功能强大的编程语言与函数

面向对象的编程

跨平台开发

开放的数据库连结系统

PowerBuilder 是一套强大的数据库应用系统开发工具 它具有完整的客户/服务器体系结构 面向对象的应用程序开发方法以及可视化的开发环境 因而成为近几年流行的数据库前端开发工具

随着网络的延伸和信息系统的不断开发 系统集成面临着如何将分布在不同服务器上的数据库系统集成到一起的问题 某个客户应用可能需要在同一窗口同时访问两个服务器上的两个不同种数据库 PowerBuilder为这种需求提供了令人满意的解决方案

方案一   通过Transaction Object同时打开多个事务 再通过多个事务存取建立在不同数据库上的DataWindows

方案二   通过数据管道(DataPipeLine)将其它数据库上基表中的数据传送到主数据库上 对数据管道还可加上过滤条件 以便只传送需要的数据

具体实现方案

本文在一个窗口上的两个按钮具体显示方案一和方案二 在这个窗口中的三个事件脚本(Scripts)如下

( )打开窗口事件脚本(Open for W_LC)

Transaction lc_oracle lc_ingres

∥初始化oracle数据库事务

lc_oracle=CREATE transaction

lc_oracle DBMS = OR ORACLE v x

lc_oracle Database = ora

lc_oracle logId = Ljb

lc_oracle logPassword = Ljbljb

lc_oracle ServerName = @t: ∥初始化ingres数据库事务

lc_ingres=CREATE transaction

lc_ingres DBMS = ODBC

lc_ingres Database = xxzx

lc_ingres userid = nt

lc_ingres dbpass = ingres

lc_ingres dbparm = ConnectString= DSN=kfml;&

SRVR=nt;DB=xxzx ;OPTS=;UID=ingres

( )同时访问两个数据库的脚本(Clicked for CB_MutiDBMS) ∥访问 oracle数据库

connect using lc_oracle;

dw_oracle SetTrans(lc_oracle)

dw_oracle retrieve()

∥访问ingres数据库

connect using lc_ingres;

dw_ingres SetTrans(lc_ingres)

dw_ingres retrieve()

( )数据管道的脚本(Clicked for CB_PipeLine)

/说明一个支持数据管道的对象 lc_object是在

User Object Painter中定义的PipeLine对象/

lc_object lcl_object

∥启动数据管道

integer start_result

connect using lc_oracle;

connect using lc_ingres;

lcl_object=create lc_object

/lc_pipeline是在PipeLine Painter中定义的数据管道 以便将ingres基表中的数据传送到oracle数据库基表中/

lcl_object dataobject= lc_pipeline

start_result=lcl_object start &(lc_oracle lc_ingres dw_oracle)

If start_result=

messagebox( 数据管道错 此基表已存在 )

return

end if

disconnect using lc_oracle;

disconnect using lc_ingres;

小结

lishixinzhi/Article/program/PB/201311/24647

数据库原理及应用课程设计

一、课程设计的目的

《数据库原理及应用》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。本课程设计主要在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力的目的。

二、课程设计的任务与要求

要求学生根据自身对题目的理解情况,从给定的设计题目中选择一个,以MS SQL Server作为后台数据库平台,以PowerBuilder作为前台开发工具,完成一个小型数据库应用系统的系统的分析、设计和开发。

三、课程设计说明书

仓储管理系统

对于一个以生产或经营产品为主要业务的单位来说,仓库管理系统至关重要。高效方便的仓库管理系统,可以为生产经营提供坚强的后盾和有力的支持。效率低下甚至是混乱不堪的仓库管理系统,无疑会成为企业健康发展的拖累甚至是枷锁。使企业发展动力不足。本次数据库设计实现了仓库管理的高效化、电子化。通过本系统可以方便地实现仓库管理中的货物登记、出库入库等 *** 作,使仓库管理井井有条。

1系统需求分析

11系统功能需求分析

仓库管理系统主要实现对库存商品的管理,对商品出库、入库的管理,和对仓库管理系统维护的功能。具体要实现的功能包括:

1)库存商品管理

查看数据库中商品的名称、编号、单价等信息。

2)商品出库、入库管理

入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。

3)商品的查询

输入商品的编号或者商品的名称查询信息

4)用户管理

用户可以修改登录密码

1 2数据需求分析

1员工(ID ,姓名,密码,权限)

2商品(商品名,商品编号,所属类,单价)

3出货表(商品名,商品编号,数量,总价,经手人)

4入货表(商品名,商品编号,数量,总价,经手人)

5查询(商品名,商品编号,数量,单价)

根据上面的关系我们需要的数据基本上就上面所列出的数据。

2 系统总体设计

1)库存商品管理

查看数据库中商品的名称、编号、单价等信息。

2)商品出库、入库管理

入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。

3)商品的查询

输入商品的编号或者商品的名称查询信息

4)用户管理

用户可以修改登录密码

21系统总体结构设计

221 E-R图

222 关系模式

1员工(ID ,姓名,密码,权限)

2商品(商品名,商品编号,所属类,单价)

3出货表(商品名,商品编号,数量,总价,经手人)

4入货表(商品名,商品编号,数量,总价,经手人)

5查询(商品名,商品编号,数量,单价)

223 数据表

“员工信息表”“商品信息表”“出货单”“进货单”的主键分别是:ID、商品编号、商品编号、商品编号。

员工信息表

商品信息表

出货单

进货单

3.系统实施

工作界面PB90,以下是我制作过程和运行中的一些截图:

首先建立PB与SQL的数据链接:如果链接不成功,返回对以话框“数据库连接错误,经检查后再试!”

然后点Preview选项会d出如下窗口:

一、 工作界面截图:

分别建有:workspace、application、windows、dw_、da_等。

工作时检测连接数据库是否正常的程序代码:

// Profile q

SQLCADBMS = "ODBC"

SQLCAAutoCommit = False

SQLCADBParm = "ConnectString='DSN=仓库;UID=;PWD='"

connect;

open(w_enter)

二、 运行结果的截图:

这个是我运行后的第一个用户界面,在界面中输入管理员ID和密码。我的管理员ID 和密码分别为 1,123点击确定进入menu下一界面。

若ID和密码分别输入1,1234,则跳出以下界面:

确定按钮所对应的代码如下:

//定义两个变量

string password,userid

password=sle_2text

//检索用户名和密码记录

SELECT "员工信息表" "ID",

"员工信息表""密码"

INTO :userid,

:password

FROM "员工信息表"

WHERE "员工信息表""ID" =:sle_1text and "员工信息表""密码" =:sle_2text;

//判断用户输入的用户名是否正确

if sqlcasqlcode<>0 then

messagebox("错误!","ID或密码错误,请重新输入!",exclamation!,ok!,2)

else

messagebox("通过验证!","ID和密码正确,欢迎您使用本系统!",Information!,ok!,2)

open(w_main)

close(w_enter)

end if

取消按钮所对应的代码如下:

close(parent)

//关闭登录窗口

三、 menu界面的截图:

在本界面中我们通过点击菜单栏上的不同管理按钮来实现管理和 *** 作的功能。

进货—进货单

出货—出货单

库存—蔬菜类

—水产类

—肉类

系统维护—修改密码

查询

四、 进货的截图如下:

在本界面中, *** 作员可以输入进货信息

五、 进货的截图如下:

在本界面中, *** 作员可以输入出货信息

六、本界面是实现用户更改自己的密码的界面

用户在登陆后根据上面的提示可以更改自己的密码。

程序代码如下:

string oldid

string oldp

string newp1

string newp2

oldid=trim(sle_1text)

oldp=trim(sle_2text)

newp1=trim(sle_3text)

newp2=trim(sle_4text)

if len(oldp)=0 or isnull(oldp) then

oldp=space(10)

end if

if len(newp1)=0 or isnull(newp1) then

newp1=space(10)

end if

if len(newp2)=0 or isnull(newp2) then

newp2=space(10)

end if

select "operator""password"

into :oldp

from "operator"

where "operator""password"=:oldp;

if sqlcasqlcode<>0 then

messagebox("提示","原密码不正确!")

sle_2text=""

sle_2setfocus()

return

end if

if newp1<>newp2 then

messagebox("提示","两次新密码输入不同!")

sle_4text=""

sle_4setfocus()

return

end if

Update "operator"

set "password"=:newp1

where "operator""operator_id"=:oldid;

if sqlcasqlcode<>0 then

rollback;

messagebox("提示","密码更正错误! 请重设!")

return

end if

gs_password=newp1

commit;

messagebox("提示","密码修改成功!")

七、本 *** 作可以看仓库里的商品并可对其进行插入和删除

八、从仓库查询所需要的商品

4 系统评价

系统的功能基本上已经实现,但是还是不够完善。但是在使用的时候还是能给用户带来一定的方便的。仓库的进货和出货在本系统中能直观的以表格形式反映出来,便于 *** 作员的使用和决策者的管理。

41 系统特色

本系统要求用户进行验证之后才能进入相应的界面。有利于保护数据库的安全,不被非法登陆使用。对于仓库内货物的进出管理要求严格,即进出货时必须填写相应的进出货单据。便于企业管理查看账目,保障了企业的稳定运行。通过本系统可以方便地实现仓库管理中的货物登记、出库入库等 *** 作,使仓库管理井井有条。在查看数据库时可以方便的删除数据库中冗余的信息和添加新的信息。

42 系统不足及改进

这个系统基本上实现了一些简单的对系统所涉及表的更新、增加和删除的功能。也实现对用户登陆的安全上有了一定的限制,只有在正确输入ID和密码的时候才能进入系统。远没有达到大型公司的仓储物资管理的要求,所创建的数据库框架比较简单,各表之间的联系也过于简单,没有添加外键相互约束,用POWER BUILDER做出来的系统过于简单、单调,需要进一步深入的调整优化,将各表之间的关系紧密联系起来,相互制约,保证数据库中数据的添加、删除、更新,安全有序。 *** 作窗口还需要进一步的进行美化,使用户在使用中更赏心悦目。

5 课程设计心得

这次课程设计的主要目的是掌握数据库应用系统分析设计的基本方法,基本掌握PowerBuilder,进一步提高分析解决问题的综合能力。通过这次课程设计,我基本掌握了以上要求。但只有两周的课程设计时间,时间比较仓促,所以开发的系统不是很完善,有一些功能未实现,但是仓库管理的基本功能均已实现。以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:对表内一些字段的约束,关系等的运用已经比较熟练。这个课程设计使我巩固了数据库的知识。

对于PowerBuilder也有了一定的了解,由于用的不多,所以运用的不是很熟练。刚开始的时候,对于PowerBuilder的语法,用法等一系列知识都不熟悉。当我基本完成此系统开发的时候,我发现其实也没有那么难,在未做之前我还害怕做不出来。经过对这个系统的开发,在开发过程中遇到但也解决了很多问题,所以说我们不能惧怕有困难而不去接触认识它,我们要知难而上,只有这样我们才能成长,才能有所发展。

这认为最难的一部分是用户查看数据库时通过插入删除按钮对数据库的更改,因为我们在文本框中输入的数字是被默认为字符型的,我在其中使用了integer(string)这个函数把字符型的进行了转换,但是在使用的过程中并不能像我所想像的那样有用。因为时间有限,所以这个问题还没有完全的解决。

通过这次数据库课程设计加深我对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使我综合运用所学知识和增强实际动手能力的目的。

我会继续学习数据库的知识,学习PowerBuilder的知识,只有通过不断的学习充实自己,才能让自己有所得。只有了知识的积淀,才能为自己的发展铺平道路!

可以参考一下啊,最终还是要自己做的吧。。仅供参考。

以上就是关于编程语言的PB全部的内容,包括:编程语言的PB、使用PowerBuilder同时访问多个数据库、课程设计仓库管理系统的数据库制作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9310667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存