第3章pb中操纵数据库
- 格式:ppt
- 大小:149.00 KB
- 文档页数:30
PB教程POWERBUILDER教程第⼀章概述1.1特点1.事件驱动在事件驱动⽅式中,程序的运⾏没有固定的流程,程序的代码也是为各种可能发⽣的事件编写,当程序开始运⾏后,它可以接受来⾃系统、⽤户或其他应⽤程序触发的事件,然后执⾏事件代码。
建⽴窗⼝、控件和其他应⽤部件时都含有⼀组预定义的事件。
例如:clicked(单击),⽤户也可以定义⾃⼰的事件。
2.⾯向对象Windows应⽤程序中常见的窗⼝、菜单、控件在powerbuilder中都是⼀个个对象。
同时,也可以创建⾃⼰的⽤户对象。
每个对象都有⾃⾝的特征和⾏为(属性、事件和函数)。
Powerbuilder提供了基础类库PFC,它为应⽤程序开发提供了许多可重⽤的预定义类和对象,利⽤基本类库PFC可以快速开发⾼质量、重⽤好的应⽤程序。
3.Powerscript语⾔Powerbuilder中,所有的处理逻辑都是⽤powerscript语⾔编写,powerscript是PowerBuilder是专⽤语⾔。
4.强⼤的数据库窗⼝对象数据窗⼝对象是PowerBuilder中的⼀种对象类型,是专门为访问后台的数据库服务的,在数据窗⼝对象中可以定义数据的来源和数据的显⽰风格,这样在应⽤程序就可以把精⼒完全放在程序的流程控制上,⽽不⽤关⼼具体数据的来源。
如果需要使⽤数据库中不同的数据,也只要对数据窗⼝对象进⾏修改就可以。
5.其他特点⽀持internet、⽀持分布式应⽤、⽀持多平台、⽀持⼤多数关系型数据库(Sybase、MS SQLSERVER、ORACLE等等以及ODBC等其他数据源)等等1.2安装略注:升级⾄7.0111.3开发环境IDE1 菜单栏图标说明NewInheritOpenSelect applicationLibrary listTo-do-listBrowserLibraryDb profileDababaseEditRunDebugExit第⼀章库⽂件⼯具栏图标说明Create libraryEdit打开选择对象的属性窗⼝ExportImportDisplay current libraryClose第⼆章对象编辑⼯具栏图标说明选择并在当前对象中插⼊⼀个控件屏蔽当前选择脚本代码放开当前选择脚本代码编译当前对象第三章库⽂件编辑区第四章对象编辑区第五章Datawindow编辑器1.4 预备知识⼀个PowerBuilder应⽤程序⼀般由若⼲个窗⼝组成,每个窗⼝有若⼲个控件(如按钮、菜单、⽂本等),每个对象或控件都有若⼲个事件(如按钮的单击或双击等),每个事件将对应⼀段程序。
PowerBuilder程序与数据库之间传递信息的一个结构变量,共有15个成员.你可以详细列表它的所有成员看看它的组成.PB的应用程序会初始化一个全局的结构体变量,SQLCA,当然你也可以自定义一个自己的事务对象.1 DBMS string 所使用的数据库管理系统的名字,如Sybase,Oracle,ODBC。
2 Database string 要连接的数据库名字。
3 UserID string 连接数据库所用的用户名。
有的DBMS不需要此项。
4 DBPass string 用户连接数据库的口令。
5 Lock string 这是数据库的保护级别,一般不必给出。
6 LogID string 登录到数据库服务器上的用户名,有的DBMS不需要此项,但Sybase和Oracle 需要指定这个参数。
7 LogPass string 登录到数据库服务器上的用户口令。
这个属性可设可不设,但Sybase和Oracle需要指定口令。
8 ServerName string 数据库服务器名。
9 AutoCommit boolean 指定是否将数据库设置成自动提交所有事务。
默认是False,也就是说,必须在应用程序中进行事务管理,并在适当的时候对数据库提交事务。
如果选择True,则每个事务都由系统自动提交。
10 DBParm string 用于向数据库传递特殊信息的属性。
11 SQLCode long 指示最近一次SQL操作失败或成功。
它的取值为:返回结果0 无错误。
-1 出现一个错误。
100 没有检索到数据。
12 SQLNRows long 最近一次SQL操作影响的行数,数据库不同其含义也不同。
13 SQLDBCode long 数据库错误代码。
不同的数据库的含义不同。
14 SQLErrText string 相应于SQLDBCode属性中错误码的文字说明。
15 SQLReturnData string 返回DBMS执行SQL的附加信息,不同的DBMS其值不同。
PowerBuilder如何同时操纵两大数据库系统当今,网络技术迅猛发展,必然要求应用技术不断提高。
由于在网络上常常很有可能安装有不同种类的多个数据库管理系统,而有些应用往往需要同时对这些不同种类的数据库系统进行操作,所以,一个应用同时连接到多个数据库成为必然。
下面以Sybase 和Oracle 为例讲述PowerBuilder同时操纵两大数据库系统的方法。
1.软件配置1)安装网络软件,分别调通PowerBuilder所在客户机与Sybase和Oracle数据库服务器的网络连接。
所使用的网络协议和网络软件,两数据库必须同时支持。
例如,协议用TCP/IP,客户机网络软件用FTP TCP/IP。
2)客户机上应安装了对Sybase和Oracle的接口程序。
3)客户机上安装了两数据库的连接产品。
例如,Sybase的Net-Library,Oracle的SQL* net。
如果两数据库服务器新使用的网络协议不一样,如Sybase用TCP/IP,Oracle用SPX/IPX,此时客户端必须使用同时支持这两种协议的网络软件,并能同时连通这两种服务器。
2.实现方法PowerBuilder是通过事务对象与数据库通信的。
在一般情况下用的是缺省事务对象SQL (SQL Communication Area),用户也可以定义自已的事务对象。
一个事务对象用于对一种数据库通信。
因此,要实现PowerBuilder同时对两个数据库连通,必须采取如下方法:1)在PowerBuilder中给每种数据库都定义一个事务对象;2)分别给每个事务对象中的用于连接到数据库的属性(包括数据库管理系统名,数据库服务器名,用户名,口令等)赋值。
3)分别将这些定义好的事务对象设置到应用的数据窗口上,语句如下:Settransobject(数据窗口,事务对象名)这样,PowerBuilder应用就可以同时连接到两个数据库,并操纵两个数据库中的数据。
3.范例说明1)创建一个窗口,并在该窗口上定义两个数据窗口控件dw_1和dw_2。
PB的数据窗口操作PB(PowerBuilder)是一种基于面向对象的集成开发环境(IDE),主要用于构建企业级应用程序。
在PB中,数据窗口是一项非常重要的功能,可以用于对数据的处理、展示和修改。
下面将从数据窗口的基本操作、高级特性和数据窗口设计原则等方面,详细介绍PB的数据窗口操作。
一、数据窗口的基本操作1. 创建数据窗口:在PB中,可以通过向导或手动创建数据窗口。
创建数据窗口是通过选择数据源(数据库表、视图或存储过程)、选择数据窗口类型(Grid、Tabular等)和设置窗口布局等步骤完成的。
2.数据绑定:在数据窗口中,可以通过数据绑定将数据源与数据窗口中的控件关联起来。
通过设置数据绑定属性,可以实现数据的读取、展示和修改等功能。
3.数据检索:使用数据窗口可以方便地进行数据检索。
通过设置查询条件、排序方式和数据过滤等属性,可以按照需求从数据库中检索数据,并在数据窗口中显示出来。
4.数据更新:除了展示数据,数据窗口还可以用于数据的更新。
通过设置数据窗口的更新属性,可以实现数据的插入、修改和删除等操作。
同时,PB还提供了事务管理和数据验证等功能,确保数据的完整性和一致性。
5.数据导航:在数据窗口中,可以轻松地实现数据的导航功能。
通过设置数据窗口的导航属性,可以方便地浏览数据,并进行上一条、下一条、第一页和最后一页等操作。
6.数据格式化:PB提供了丰富的数据格式化选项,可以对数据窗口中的数据进行格式化和显示。
例如,可以设置日期格式、货币格式和数值格式等,以便更好地展示和分析数据。
二、数据窗口的高级特性1.动态数据窗口:PB允许动态创建和操作数据窗口。
通过使用动态数据窗口,可以在运行时动态改变数据窗口的结构和属性。
这对于动态查询和灵活的数据展示非常有用。
2.嵌套数据窗口:PB支持嵌套数据窗口的使用。
通过将一个数据窗口嵌套在另一个数据窗口内部,可以实现复杂的数据关联和显示。
例如,可以在父数据窗口中显示子数据窗口的数据。
第1章PB通过专用驱动连接Oracle 前提:安装Oracle数据库客户端,配置客户端服务名,连接Oracle服务器运行PB后点击打开如下界面,进行配置:自定义:数据库在PB中的名称——Profile Name填入:A、Oracle客户端服务名——Server(PB6.5需要在服务名前加@)B、user/password(数据库登录名/密码)在System选项卡,配置Table Owner(很重要,否则可能无法连接)第2章PB通过JDBC连接数据库前提:安装JDK,并配置JDBC将MYSQL的JDBC连接包(mysql-connector-java-5.0.7-bin.jar)放入JA V A 安装目录的Lib目录下,并配置Class_Path类路径(使JA V A可以找到这个包)。
运行PB后点击打开如下界面,进行配置:在PB中新建一个JDBC连接自定义:JDBC在PB中的名称——Profile Name填入:A、JDBC驱动程序类名(存在与mysql-connector-java-5.0.7-bin.jar包中)——Data SourceB、URL(包含MYSQL的服务器IP、Port、DB--数据库名:hao)——URLC、username/password(数据库登录名/密码)这样PB就可以连接到JDBC,并访问远程IP地址上的数据库服务器了。
第3章PB通过ODBC数据源连接数据库前提:配置ODBC数据源(例如:配置SQL Server数据源),连接数据库服务器(例如:连接SQL Server数据库服务器)运行PB后点击打开如下界面,进行配置:在PB中新建一个ODBC连接自定义:ODBC数据源在PB中的名称——Profile Name 填入:A、选择配置好的ODBC 数据源——Data SourceB、user/password(数据库登录名/密码)切换到System选项卡,填写Table Owner(就是登录名)这样PB就可以连接到ODBC,并访问远程数据库服务器了。
PB培训教程(提高篇)-(多场景)PB培训教程(提高篇)一、引言随着我国经济的快速发展,企业对人才的需求日益增长,专业技能培训成为了提升员工素质的重要途径。
PB(PowerBuilder)作为一款优秀的客户端/服务器应用程序开发工具,具有强大的数据处理能力和灵活的界面设计功能,广泛应用于企业级应用开发。
为了帮助广大PB爱好者提高开发技能,本教程将从实战角度出发,详细讲解PB的高级应用技巧。
二、PB开发环境介绍1.PB简介PowerBuilder(简称PB)是美国Sybase公司推出的一款客户端/服务器应用程序开发工具。
它采用面向对象的编程思想,支持多种数据库,具有强大的数据处理能力和灵活的界面设计功能。
PB在我国的企业级应用开发领域具有广泛的应用。
2.PB开发环境搭建(1)安装PB开发工具:并安装PB开发工具,根据提示完成安装过程。
(2)配置数据库连接:安装并配置数据库软件(如Oracle、SQLServer等),建立数据库连接。
(3)创建PB项目:在PB开发环境中创建新项目,配置项目属性,为后续开发做好准备。
三、PB高级应用技巧1.数据窗口应用(1)数据窗口简介:数据窗口是PB中用于数据显示和编辑的重要组件,具有强大的数据处理能力。
(2)数据窗口设计:掌握数据窗口的设计方法,包括数据源设置、列属性设置、样式设置等。
(3)数据窗口事件处理:了解数据窗口的事件处理机制,掌握常见事件(如Click、DoubleClick等)的编写方法。
(4)数据窗口与数据库交互:学习如何使用数据窗口进行数据的增、删、改、查操作。
2.PB与Web技术结合(1)Web开发简介:了解Web开发的基本概念,掌握、CSS、JavaScript等基本技术。
(2)PBWeb应用程序:学习如何使用PBWeb应用程序,包括Web数据窗口的使用、Web事件处理等。
(3)PB与WebService交互:掌握PB调用WebService的方法,实现PB与WebService的数据交互。
PB中协调多数据窗口数据操纵的一种解决方法PB中协调多数据窗口数据操纵的一种解决方法1、问题的提出数据窗口是PB中检索、表现和操纵数据的对象。
如果一个数据表的列不多,用单数据窗口操纵数据很易实现,但在实际应用中,数据表的列数动辄几十,甚至上百也并不少见,这时用单数据窗口滚动显然不方便,一个自然的想法是采用TAB控件和TAB页,在每个TAB页上放置一个数据窗口控件,每个数据窗口控件分门别类操纵数据表的列,但随之而来的问题是如何协调分布在这些数据窗口中录入或修改数据的存储,针对每个数据窗口发布一个UPDATE()函数的调用不可行。
我们在实际开发中经过探索,增加一个后台的数据窗口做中介,解决了多数据窗口操纵数据的问题。
2、协调多数据窗口数据操纵的一种解决方法基本思路是:在进行数据操纵的数据窗口控件之外,另外放置一个数据窗口控件,设置其不可见,并设其数据窗口对象为一个选择了数据表中所有列的数据窗口,其他数据窗口控件中录入或修改的数据实时地传送过来,对该控件的数据进行更新操作即可。
不失一般性,下面以PB自带数据库psDemoDB.db中的customer表的数据录入为例来说明。
Customer表有"id","fname","lname","address","city","state","zip","phone","com pany"九个列,其中"id"为integer类型,其余均为char类型。
(1)创建数据窗口建立三个数据窗口d_1、d_2、d_3,数据窗口d_1选"id","fname","lname"三列,d_2中选"address","city","state"三列,d_3选"zip",""phone","company_name"三列。
PB中datawindow更新属性如何控制数据库并[转]PB中datawindow更新属性如何控制数据库并发2010-05-20 10:32一、引言对于Client/Server方式下的编程,不可避免地有并发操作处理的问题。
为了说明问题,举一个不够恰当的例子:如果有两个用户A和B都试图访问同一员工记录并同时要求修改该员工工资时,会有什么情况发生呢?假设该员工的工资为1000元,两台机器修改记录之前读出用户工资均正确。
A用户为此员工加本月奖金200元,查询到原来薪水为1000,加上200后变为1200,而此时B用户在不同的机器上扣除此员工的水电费50元,系统将salary字段置为950,显然这种修改是不能接受的,实际的结果应该是1150元。
DataWindow是PowerBuilder中一个独特的对象,功能强大,是Sybase的专利技术,它可以方便而快速地处理数据。
通过数据窗口,我们无需编写复杂的SQL语句,就可以实现对数据库的读写操作。
实际上DataWindow在更新数据时,会根据用户对DataWindow中的数据进行的各种操作自动地转换成SQL语句,然后再执行。
例如:用户新增了一条记录,也就是脚本执行了InsertRow()函数,输入数据后保存(调用Update()函数),此时PB会将其自动转换成SQL语句,发送到数据库服务器。
对于转换后的SQL语句,我们可以在datawindow的sqlpreview事件中,加脚本:MessageBox('SQL语句',sqlsyntax)来查看。
这里有一点需要注意,如果数据库连接的binding参数设定为enable,则sqlsyntax返回将不完整,插入一条记录时sqlsyntax呈如下形式:INSERT INTO"personnel"("id","name","birthday","technical_post","salary","not es")VALUES(?,?,?,?,?,?)为了正确返回sqlsyntax,需将binding参数设为disabled,设置方法是在dbprofile对话框中,将transaction标签页的Disable Bind选项勾上,或者是在personnel.ini文件中DbParm改为:DbParm=Connectstring='DSN=database_server',DisableBind=1则sqlsyntax完整返回如下:INSERT INTO"personnel"("id","name","birthday","technical_post","salary","not es")VALUES(100,'令狐冲','1975-05-01','工程师',1000,'软件开发')三、PowerBuilder中的并发控制PowerBuilder中可以通过数据窗口的更新属性(Update Properties)来实现并发控制。