PowerBuilder数据库应用开发教程(第二版)chapter10

合集下载

Pb培训PPT

Pb培训PPT

PowerBuilder 10.0数据库应用开发教程
三、说明语句及变量作用域:
6.结构定义和声明结构变量
● 全局结构:全局结构不与应用程序中的某个对象相关联, 它在整个应用程序中都能够使用。在应用程序的任何地方都可 以声明全局结构的变量,该变量的作用域是声明变量时定义的 作用域。 ● 对象级结构:这种类型的结构与特定的对象相关联,比 如,窗口、菜单、用户对象或应用对象。它可以直接在定义该 结构的对象中使用,而在其他地方使用时,需要进行特殊的处 理。 使用方法为:结构变量名.结构分量
带返回值的外部函数的说明语法为(实际越级应该为一行): {access} FUNCTION returndatatype name({{REF}datatype1 arg1,…,{REF} datatypen argn}) LIBRARY “libname” ALIASFOR “extname” 不带返回值的外部函数的说明语法为(实际越级应该为一行): {access} SUBROUTINE name({{REF}datatype1 arg1,…,{REF} datatypen argn}) LIBRARY “libname” ALIASFOR “extname”
1.断行、续行与多条语句
•PowerScript的续行为符号&,它放在一行的末尾指示 下一行是当前行的继续 MessageBox(”SQL语句出错”,”出错编号 =”+String(SQLCA.SQLCode)) 书写两行为: MessageBox(”SQL语句出错”,”出错编号=”+& String(SQLCA.SQLCode))
局部变量:只能在相应的脚本程序里定义和使用的临 时变量,在该脚本运行结束后,相应的变量就不复存在 了

PowerBuilder教程二

PowerBuilder教程二

3.7.4 SQLCA对象说明


全局 SQLCA 变量在接口库中定义。预处理器 会为全局 SQLCA 变量生成外部引用,并且会 为该变量的指针生成外部引用。该外部引用名 为 sqlca,类型为 SQLCA。指针名为 sqlcaptr。 实际的全局变量在导入库中声明。 SQLCA 由 sqlca.h 头文件定义,该文件包括 在安装目录的 h 子目录中。
3.数据库连接
几种连接方式介绍
ODBC ADO
.NET DATA PROVIDER
JDBC OLEDB
3.1 ODBC


开放数据库互连(Open Database Connectivity, ODBC)是微软公司开放服务结构(WOSA, Windows Open Services Architecture)中有关数据 库的一个组成部分,它建立了一组规范,并提供了一 组对数据库访问的标准API(应用程序编程接口)。 这些API利用SQL来完成其大部分任务。ODBC本身也 提供了对SQL语言的支持,用户可以直接将SQL语句 送给ODBC。

SQLCA是PowerBuilder众多对象中最重要的 一个对象,并且也是最不好理解的一个对象。 它实际上是PowerBuilder程序与数据库之间传 递信息的一个结构变量,共有15个成员。
3.7.4 SQLCA对象说明



1 DBMS string 所使用的数据库管理系统的名 字,如SQL SERVER,Oracle,ODBC。 2 Database string 要连接的数据库名字。 3 UserID string 连接数据库所用的用户名。有 的DBMS不需要此项。 4 DBPass string 用户连接数据库的口令。 5 Lock string 这是数据库的保护级别,一般不 必给出。

数据库应用程序设计(PowerBuilder)教学大纲

数据库应用程序设计(PowerBuilder)教学大纲

《数据库应用程序设计(PowerBuilder)》教学大纲一、课程的性质和任务课程性质:《数据库应用程序设计(PowerBuilder)》是计算机类专业的一门专业课。

本课程的任务是:通过本课程的讲授与学习,使学生掌握PowerBuild6.0的基本编程方法,可以使用PowerBuild6.0进行简单编程。

二、课时分配三、教学内容和教学要求第一章PowerBuilder概述1.1 PowerBuilder简介客户/服务器体系结构;面向对象的开发方法;支持多种关系数据库管理系统;功能强大的数据窗口对象;集成的开发环境。

1.2 PowerBuilder开发环境PowerBuilder 7.0系统的安装;开发界面的构成;工具栏;主要主控工具栏图标的功能;窗口的使用;子窗口的使用。

1.3 PowerBuilder应用系统的组成服务器系统和客户系统;客户系统中的主要对象及其常用命名规则;对象属性和对象函数;对象的事件;对象事件的脚本。

1.4 应用系统的开发步骤系统分析与系统设计;系统开发;系统调试;系统运行。

1.5 一个简单PowerBuilder应用系统的开发过程建立数据库和表;建立应用对象;建立数据窗口对象;建立窗口对象;编写脚;运行应用。

第二章连接与操作数据库2.1 Powerbuilder与各种数据库系统的连接Powerbuilder的内置数据库管理系统;配置ODBC数据源描述信息;连接ODBC数据库;断开与数据库的连接。

2.2 数据库画板启动数据库画板;数据库画板工具栏的组成。

2.3 建立数据库建立本地的Sybase Adaptive Server Anywhere数据库;删除Sybase Adaptive Server Anywhere数据库。

2.4 建立数据库表建立数据库表;修改表的定义;建立表的主键;建立表的外键;建立表的索引;删除表、主键、外键与索引。

2.5 表数据操作检索表记录;插入、修改、删除表记录。

PowerBuilder培训讲义

PowerBuilder培训讲义

目录第一讲面向对象与PB开发环境 (8)一.开发工具总体介绍 (8)二.面向对象技术与可视化开发环境 (9)1.面向对象技术 (9)2.PowerBuilder可视化开发环境 (10)三.熟悉开发环境 (11)四.应用程序开发步骤 (13)第二讲应用对象与事务对象 (15)一.应用对象和应用对象画笔 (15)1.应用对象 (15)2.应用库 (16)3.应用对象画笔 (16)4.创建新的应用对象 (17)5.自动生成应用程序框架 (18)二.设置应用对象的属性 (19)2.指定库搜索路径 (19)3.设置应用程序图标 (20)4.指定缺省全局变量的类型 (20)5.应用对象的其它属性 (21)三.应用对象的事件 (22)1.Open(打开)事件 (22)2.Close(关闭)事件 (23)3.Idle(空闲)事件 (23)4.SystemError(系统出错)事件 (24)5.ConnectBegin(连接开始)事件 (24)6.ConnectEnd(连接结束)事件 (24)7.编写应用对象的事件处理程序 (24)四.代码编辑器的用法 (24)五.事务对象的概念与属性 (25)1.事务对象的概念 (25)2.创建自定义事务对象 (25)3.事务对象的属性 (26)第三讲连接与定义数据库 (28)1.连接前的软件安装 (29)2.连接到ODBC数据库 (29)3.专用接口的一般连接步骤 (31)二.数据库操作 (32)三.数据库画笔简介 (32)1.数据库画笔的组成 (32)四.操作数据库表 (33)五.数据浏览、修改与输出 (33)六.使用数据库维护画笔 (33)1.编写和执行SQL语句 (34)2.保存与读入SQL语句 (34)七.P OWER B UILDER资源库 (34)八.创建与编辑显示格式 (35)1.数值型显示格式 (35)2.字符串显示格式 (36)3.日期显示格式 (36)九.创建编辑风格 (37)十.创建有效性规则 (37)第四讲POWERSCRIPT编程语言 (39)一.语言基础 (39)1.断行、续行与多条语句 (40)2.注释 (40)3.标识符 (40)4.特殊ASCII码字符 (41)5.空值(NULL) (41)6.对象的属性、函数和事件的引用方法 (42)7.代词 (42)8.保留字 (43)9.事件处理程序的编写环境 (43)二.数据类型与变量说明 (43)1.标准数据类型 (44)2.系统对象数据类型 (45)3.枚举类型 (46)4.数组变量 (46)5.变量的作用域 (47)四.创建与释放对象实例 (48)1.创建对象实例 (48)2.释放对象实例 (48)五.条件语句 (49)1.IF语句 (49)2.CHOOSE CASE语句 (50)六.循环语句 (50)1.DO ...LOOP循环 . (51)2.FOR ...NEXT循环 .. (51)4.EXIT(退出循环) (51)5.CONTINUE(继续循环) (51)6.返回语句与终止程序运行 (52)七.嵌入式SQL (52)建立和断开与数据库的连接 (53)事务的提交与回滚 (53)单行检索语句SELECT (53)读取多行数据——游标 (53)检查SQL语句执行情况 (54)八.常用函数 (54)九.创建自定义函数和结构 (57)1.创建自定义全局函数 (57)2.创建自定义对象函数 (57)3.创建全局结构结构 (58)4.创建对象结构 (58)第五讲窗口、菜单与常用控件 (59)一.窗口概述 (59)1.窗口的类型 (59)2.典型的选择对象窗口 (60)3.窗口事件及函数 (61)4.创建窗口的多个实例 (62)5.多文档界面 (62)二.菜单概述 (63)三.常用控件概述 (63)第六讲数据窗口对象 (65)一.创建数据窗口对象的步骤 (65)2.创建数据窗口对象的一般步骤 (66)二.定义数据源 (67)1.Quick Select数据源 (68)2.SQL Select数据源 (69)3.Query数据源 (70)4.External数据源 (71)5.Stored Procedure数据源 (71)三.数据窗口的显示风格 (72)1.列表(Tabular)风格 (72)2.表格风格 (72)3.自由格式(Freeform) (73)4.标签(Label)风格 (73)5.分栏(N-Up)风格 (73)6.分组(Group)风格 (73)7.交叉列表(Crosstab)风格 (73)8.统计图(Graph)风格 (74)9.OLE 2.0风格 (74)10.超文本(RichText)风格 (74)11.复合(Composite)风格 (74)四.使用数据窗口画笔 (74)五.数据窗口的布局结构 (75)1.区域划分 (75)2.区域属性 (76)3.设置样式及打印参数 (76)六.控制列对象的显示与编辑 (78)1.显示格式 (78)2.编辑风格 (78)3.有效性规则 (79)七.控制数据行 (80)1.记录过滤 (80)2.记录排序 (81)3.记录分组 (81)4.让用户输入检索条件 (82)5.按需提取数据 (82)6.压缩重复值 (83)八.增强数据窗口对象的功能 (83)2.增加与删除数据窗口中对象 (84)3.静态文本对象 (85)4.计算域 (85)5.图片框 (86)6.统计图 (87)7.绘图对象 (87)8.组框对象 (87)9.嵌套报表 (88)10.按钮对象 (88)九.设置对象属性 (89)1.修改对象的颜色与边框 (89)2.动态修改属性 (89)十.控制更新数据库 (90)第七讲数据窗口控件 (94)一.数据窗口控件使用方法 (94)1.运用数据窗口的一般步骤 (95)2.连接数据窗口控件与对象 (95)3.动态更换数据窗口对象 (96)4.为数据窗口控件分配事务对象 (96)6.检索数据 (99)7.更新数据库 (101)二.缓冲区与编辑控件 (103)1.数据窗口控件的缓冲区 (103)2.编辑状态标志 (104)3.编辑控件 (106)4.数据校验步骤 (106)三.设置数据窗口控件的属性 (107)四.数据窗口控件的事件 (107)五.数据窗口的数据校验步骤 (111)六.数据窗口控件的常用函数 (112)1.插入行与删除行 (112)2.将编辑控件数据放到数据窗口列中 (112)3.得到与设置当前行/列 (113)4.滚动数据行 (113)5.得到与设置数据项的值 (114)6.清除所有行Reset ( ) (116)7.修改过滤条件及过滤数据 (116)七.出错处理及日志 (117)八.输出报表 (120)九.数据窗口的高级用法 (121)1.数据窗口的属性访问方法 (121)2.数据窗口画笔表达式 (124)3.数据的直接访问方法 (127)4.动态数据窗口 (136)十.数据存储对象 (139)第八讲用户对象和用户事件 (141)一.用户对象分类 (141)二.创建新用户对象 (144)1.启动用户对象画笔 (144)2.创建标准可视用户对象 (145)3.创建定制可视用户对象 (145)4.创建外部可视用户对象 (146)5.创建定制类用户对象 (146)6.创建标准类用户对象 (146)三.使用用户对象 (147)1.使用可视用户对象 (147)2.使用类用户对象 (147)四.窗口与用户对象间的通讯 (148)五.用户事件 (149)1.定义用户事件 (149)2.用户事件讨论 (150)3.使用用户事件 (151)第九讲应用程序的调试与发行 (153)一.管理应用库 (153)1.应用库的组织方式 (154)2.使用库画笔 (154)3.维护应用库 (155)4.维护应用库中的对象 (156)5.移出与移入对象 (157)6.对象的检出与检入 (157)7.重新生成对象 (158)二.应用程序测试过程 (159)三.调试器的使用 (159)2.断点设置 (161)3.调试过程 (162)四.其它调试手段 (164)五.创建可执行文件 (165)1.创建可执行文件的一般步骤 (166)2.创建可执行文件时要考虑的问题 (168)六.应用程序的发行 (170)1.PowerBuilder运行时库 (170)2.安装数据库接口 (170)3.配置ODBC数据源 (171)第十讲数据库编程及其综合应用 (172)一.OOP模板编程示范 (172)二.主程序流程 (173)三.程序中的错误处理 (173)附录:数据窗口控件的函数 (175)第一讲面向对象与PB开发环境一.开发工具总体介绍PB是一种客户/服务器环境下的数据库应用程序开发(编程)工具。

PowerBuilder 10.0 应用基础与实例教程教学课件李政第10章 小型财务软件

PowerBuilder 10.0 应用基础与实例教程教学课件李政第10章 小型财务软件
数据检验 下拉数据窗口原有值自动选中 下拉数据窗口值过滤
dw_1的retrieveend事件(数据检索结束时产生) 代码
将各列值送实例数组carry[](数据检验用)
itemchanged事件代码
10.2 数据维护和查询
其它功能
dw_1
rowfocuschanged代码 dberror代码 itemerror代码 u_enter用户事件代码
10.2 数据维护和查询
窗口w_d_in布局及部分代码
窗口布局
类型、标题、图标、MaxBox和Resizable属性 数据窗口控件dw_1,d_jbxx属性 下拉列表框ddlb_1、ddlb_2 单行编辑框sle_1、sle_2 九个命令按钮
open事件代码
窗口定义一个实例数组,以便在各控件之间传递参数。
窗口“w_d_in”——基本信息维护和查询 窗口“w_szlx”——收支类型维护 收支类型的输入与文本颜色的控制
数据窗口对象d_szlx
隐蔽标题
数据窗口对象d_jbxx
szlx的Edit属性用下拉数据窗口(DropDownDW) d_szlx 用表达式对szlx、srje、zcje的文本颜色动态控制 总结区:收入金额、支出金额合计
窗口中个命令按钮代码
收支类型维护ቤተ መጻሕፍቲ ባይዱ口w_szlx简介
10.3 统计表
数据窗口对象d_tjb
按szlx升序排序 按szlx分组 细节带上移使细节不显示,只显示标题、分组数据和合计数 据。 在分组数据区“Trailer Group szlx”中,“年份”列添加一 个计域compute_3,表达式为left( rq ,4)。 “收入金额”、“支出金额”列添加一个求和计算域 属性“Text Color”表达式,使零值不显示 “收支类型”列添加一个计算域,表达式为mid(szlx,2) 汇总区:“合计”,计算域commput_4、commput_5、 compute_4 - compute_5

powerbuilder编程简单入门(个人总结)

powerbuilder编程简单入门(个人总结)

一种简单的powerbuilder10数据库编程介绍1、需求分析与数据库建立进行需求分析(需求分析文档),确定数据关系,建立各种数据表,建立数据库(Access),设置ODBC数据源(控制面板->管理工具->数据源ODBC->“用户DSN”菜单下点“添加” 选相应的数据源驱动程序,如果用Access2003建立的,则选第三项“Driver do Microsoft Access(*.mdb),然后点击“完成”->输入数据源名,如mydata,然后点击“选择”按钮选择建好的数据库,最后点“确定”,如下图所示)2、界面设计(功能界面、重要数据表维护界面)界面设计主要分为几个部分(1)按照管理系统所需的功能设计界面。

首先画出所有可能的业务流程(数据的各种可能输入、修改、删除业务,数据的输出、显示业务)(2)按照需要维护的表设计界面(往往给最高权限管理员直接修改数据用)3、开始程序编写(1) 新建一个workspace(new->workspace->workspace)(2) 在workspace下建立一个目标(new->Target->application),可取名frame(3) 在目标下建一个主窗口可取名w_main,窗体名一般以w_开头(new->PB Object->Window),将其Window Type 设为“mdihelp!”(4) 为主窗口建一个主菜单可取名m_frame,菜单名一般以m_开头(new->PB Object->Menu)(5) 程序中设置ODB ODBC点击按钮,选中“ODB ODBC”项,然后单击右边“New”按钮,弹出如下对话框,设置Profile Name和Data Source,如图所示。

(6) 建立配置文件配置文件取名“config.ini”,内容如下:[MyDB]DBMS=ODBCAutoCommit=FalseDBParm=ConnectString='DSN=mydata;UID=;PWD='(7) 自动连接数据库与退出程序关闭数据库的编写首先建立Global Variables如下:string gs_userid,gs_username //登录用户标识、用户姓名string gs_root_path,gs_ini_path //应用路径和主配置文件路径其次申明Global External Functions如下:FUNCTION int GetComputerNameA(ref string computername,ref long size) LIBRARY "KERNEL32.DLL" alias for "GetComputerNameA;Ansi"FUNCTION long GetCurrentDirectoryA( long nBufferLength, REF string szBuffer ) LIBRARY "KERNEL32.DLL" alias for "GetCurrentDirectoryA;Ansi"FUNCTION long SetCurrentDirectoryA( string szPathName ) LIBRARY "KERNEL32.DLL" alias for "SetCurrentDirectoryA;Ansi"//end prototypes在程序的总入口(进入“”)Open事件中写入以下代码:// Profile moneyandfriendsstring ls_1//设置应用根目录gs_root_path = space(255)GetCurrentDirectoryA( 255, gs_root_path )if right(gs_root_path,1) = '\' thengs_root_path = left(gs_root_path,len(gs_root_path) - 1)end if//设置配置文件路径gs_ini_path = gs_root_path + "\config.ini"IF not FileExists ( gs_ini_path ) THENMessageBox( "找不到配置文件"+gs_ini_path,"系统配置错误",stopsign!,ok! ) RETURNEND IF//SetProfileString(gs_ini_path,'DBMS','ls_1=ProfileString(gs_ini_path,'MyDB','DBMS','ODBC')SQLCA.DBMS =ls_1SQLCA.AutoCommit = Falsels_1=ProfileString(gs_ini_path,'MyDB','DBParm','error')SQLCA.DBParm = ls_1connect using sqlca;open(w_main) //打开主界面在Close事件中加入如下代码:disCONNECT USING sqlca;(8) 建立新的具体功能窗体(如w_zichuangti)8.1 设置窗体BackColor为“Cream”,输入窗体Title;要在1024*768分辨率下基本满屏,窗体大小可设置为“4645*2748”8.2在新窗体上一般用GroupBox来划分功能区域,设置该控件的字体为“宋体”,大小为“10”,背景颜色为“Cream”8.3用静态文本做功能说明或指示,一般加黑,宋体9号字示例程序界面如下:(9) 响应菜单click事件弹出子窗口(相同子窗口只弹出一次待研究)在菜单下编写代码打开窗体(双击菜单即可在Click事件下编写),简单代码如下://选择菜单时调出子窗体window lwopensheet(lw,'w_ zichuangti',parentwindow,0,Cascaded! )lw.WindowState = Maximized!(10) 相同的子窗口只让弹出一次(代研究)(10) 建立数据窗口(11) 添加新的pbl文件一般要用不同的pbl文件分类存储不同窗体、数据窗口和菜单等资源;建立新的pbl文件的方法如下:点击工具栏上“Library”按钮,然后在弹出子窗口中进入程序所在文件夹,在工具栏左下有“”创建pbl的按钮。

PowerBuilder开发工具教学大纲

PowerBuilder开发工具教学大纲

PowerBuilder开发工具教学大纲大纲说明课程代码:3235007总学时:64学时(讲课32学时,实验32学时)总学分:4课程类别:限制性选修适用专业:计算机科学与技术专业预修要求:C程序设计语言、数据结构、数据库系统原理课程的性质、目的、任务:《PowerBuilder开发工具》是本专业的专业选修课。

通过本课程的学习,学生应了解PowerBuilder的基本功能和设计思想。

能使用PowerBuilder和MS SQL Server 数据库以及其他的使用ODBC数据源连接的桌面数据库进行编程。

熟练掌握数据窗口的操作。

能使用PowerBuilder 和一种数据库编制一个小型的数据库管理系统,例如:学生成绩管理或库存管理等。

本课程作为本专业面向对象编程课程的重要组成部分。

课程教学的基本要求:本课程是一门理论和实际相结合的课程,在课堂教学过程中应尽量使用多媒体教学手段,CAI课件、实例演示与板书相结合,使本课程的教学变得具体和形象生动。

在教学时应多结合具体例子进行讲解。

需要具备教学辅助资料包括:CAI课件、试卷库等。

每章要求布置1-3个课后习题,通过与课堂教学内容同步的习题和配套的实验,能帮助学生对相关知识的理解。

实验参照实验指导书上安排的内容,主要实验完成后要求提交实验报告。

考试采取开卷或上机考试的方式,主要考察学生使用PowerBuilder开发工具进行面向对象编程的能力。

大纲的使用说明:本教学大纲供计算机科学与技术专业使用,若学时小于64则可以根据教学实际酌情取舍有关的内容。

大纲正文第一章 PowerBuilder开发环境学时:4学时(讲课2学时,实验2学时)了解PowerBuilder的特点和功能,了解面向对象程序设计的特点;掌握怎样使用PowerBuilder的帮助学习相关知识;初步了解PowerBuilder的集成环境,掌握PowerBuilder 简单应用程序的开发。

本章讲授要点:PowerBuilder是一种高效能的客户/服务器模式以及分布式数据库应用程序的前端开发工具。

powerbuilder10用法

powerbuilder10用法

一、PB应用程序打包生成不用安装PB空间管理您的位置: ITPUB个人空间»elephantcalf的个人空间»日志淡淡的哀愁莫名的忧郁人,没有受不了的苦,只有享不了的福。

PB应用程序打包生成不用安装PB上一篇 / 下一篇 2007-07-02 00:00:00 / 个人分类:技术查看( 133 ) / 评论( 1 ) / 评分( 0 / 0 )将注册表的一些路径配置好,并且重新定义数据源,还有一些必需的.dll也要拷到响应的目录我今天也遇到这个问题了,原因是你没有将sql的驱动文件在系统中注册!你需要在客户机上安装 sql客户端!需要文件:dbcon7.dll,dbctrs7.dll,dblgen7.dll,dbodbc7.dll,dbserv7.dll,dbeng7.exe我是用PB连接oracle数据库,如何打包,并在其他没有安装pb和oracle数据库的机器上运行!!!!!!!不管你用什么,都得需要oracle的支持,不知道你用的pb几,在pb9.0里自带打包程序,很不错,很不错,你也可以尝试一下第三方的打包程序,很多!setup factory 6.0.0.3 完全版一直用这个很不错的installshield 或者wise打包的时候需要用到那些dll?----------------------------与你的PB版居泄?PBVM80.DLL :PowerBuilder 虚拟机,必需PBTRA80.DLL :用来数据库跟踪调用,可选PBRTC80.DLL:对Rich Text 的支持,可选PBMSS80.DLL:Microsoft SQL Server数据库服务器的直连接口(Native databaseinterfaces),使用MSS必备的DLL,如果使用别的DBMS,采用相应的其他DLL PBDWE80.DLL:DataWindow 引擎,如果使用了 DataWindow和 Report,必需NTWDBLIB.DLL:DBMS 客户端链接库,负责执行与服务器的连接,必需DBNMPNTW.DLL:Named Pipes Network Library,网络连接方式之一DBMSSOCN.DLL:TCP/IP Network Library,网络连接方式之二如果不是使用专用接口,而是采用ODBC,则另需要:PBODB80 .DLLPBODB80 .INidbsvr7.0.exe注册表里写入:nowdir=GetCurrentDirectory()RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","Driver",RegString!,n owdir+"dbodbc8.dll")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","DatabaseFile",RegStr ing!,nowdir+"GSMdata.db")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","DatabaseName",RegStr ing!,nowdir+"GSMdata")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","AutoStop",RegString! ,"Yes")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","Integrated",RegStrin g!,"No")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","Debug",RegString!,"N o")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","DisableMultiRowFetch ",RegString!,"No")RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","UID",RegString!,"No") RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIGSMdata","PWD",RegString!,"No") RegistrySet("HKEY_CURRENT_USERSoftwareODBCODBC.INIODBC DataSources","GSMdata",RegString!,"Adaptive Server Anywhere 7.0") SQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "Connectstring='DSN=GSMdata;UID=GSM;PWD=mobile'" connect using sqlca;////1 这可以借助于InstallShield安装程序的帮助,把自己机器上的ODBC数据源定义 ->导入到安装程序中 ->安装完毕,由安装程序来帮你把自己机器上的ODBC数据源定义复制到被安装的机器上。

powerbuilder自学课件 (9)

powerbuilder自学课件 (9)
发教程
五、数据管道示例:
(8) 窗口定义如下实例变量 transaction tra_source transaction tra_destination uo_p_customer uo_cutomer (9) 为窗口open事件中建立数据库连接,代码为: // Profile House 连接源数据库 tra_source.DBMS = "ODBC" tra_source.AutoCommit = False tra_source.DBParm = "ConnectString='DSN=House数据源 ;UID=dba;PWD=sql'" connect using tra_source; if tra_source.sqlcode<>0 then messagebox("提示","连接源数据库失败 !") return end if
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(10) 在窗口的关闭事件中编写如下代码: //关闭与数据库的连接 disconnect using tra_source; disconnect using tra_destination; //撤销事务对象 destroy tra_source destroy tra_destination //撤销数据管道对象 destroy uo_cutomer (11) 在数据窗口dw_source的retrieveend事件中编写如下代码: //检索数据窗口dw_destination dw_destination.retrieve()
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:

PowerBuilder10.复习资料

PowerBuilder10.复习资料

一、单项选择题1. 在PowerBuilder10.0中创建一个应用程序时,应当首先创建:( b )A. 应用ApplicationB. 工作空间WorkSpaceC. 窗口对象WindowD. 菜单对象Menu2. 在新建对话框的页面中,Project 页用于:( c )A. 产生新的工作区B. 产生新的目标C. 应用程序的编译和发布D. 产生新的对象3. PowerBuilder应用程序的入口点是:( a )A. 应用对象B. 窗口C. Main函数D. 主菜单4. 在同一时间内,PowerBuilder开发环境:(a )A. 可以连接到多个数据库,但只能有一个数据库是活动的。

B. 只能连接到一个数据库,且只能有一个数据库是活动的。

C. 可以连接到多个数据库,且可以有多个数据库是活动的。

D. 不能选择数据库的连接。

5. PowerScript 的续行符为:( a )A. &B. //C. *D. **6. 在嵌入式SQL语句中,下列说法正确的是:(d )A. 无需使用续行符,也无需结束符号(;)B. 需要使用续行符C. 不需要结束符号D. 无需使用续行符,但需要结束符号(;)7. 代词Parent 指:()A. 当前控件所在的窗口。

B. 运行时菜单所在的窗口。

C. 父对象D. 对象或控件本身。

8. 指示最近一次SQL语句执行成功的SQLcode的取值为:(d )A. 1B. -1 (失败)C. 100 (空表)D. 0 (成功)9. 按钮的跳转序号为0时,表示:( d )A. 用tab键移动输入焦点时跳过该控件的使用,且不能选择该控件。

B. 该控件不可用C. 该控件最先被选中。

D. 用tab键移动输入焦点时跳过该控件的使用,但可以通过鼠标选择该控件。

10. 在同一个组中,每次只能选中其中一个控件的是下列那一类控件:(a )A. 单选按钮B. 复选框C. 组框D. 编辑框1. 能够从多个表中进行选择的数据源是:(a )A. SQL Select 数据源B. Quick Select 数据源C. Query数据源D. External数据源2. 一般情况下,下列哪种风格的数据窗口用于一屏显示一条记录:(a )A. 自由格式B. Grid格式C. 标签风格D. 列表风格3. 在数据窗口中,tab order为0的对象,含义是:( c )A. 首先被选中B. 永远无法得到输入焦点C. 通过tab键无法选中,但通过鼠标可以选中D. 最后被选中4. 数据过滤针对存放在数据窗口缓冲区中的数据进行,在此过程中:(d )A. 需要访问数据库,且生成新的SQL语句B. 不需要访问数据库,且生成新的SQL语句C. 需要访问数据库,不生成新的SQL语句D. 不需要访问数据库,不生成新的SQL语句5. PowerScript 的续行符为:( a )A. &B. //C. *D. **6. 在嵌入式SQL语句中,下列说法正确的是:( d )A. 无需使用续行符,也无需结束符号(;)B. 需要使用续行符C. 不需要结束符号D. 无需使用续行符,但需要结束符号(;)7. 代词Parent 指:( a )A. 当前控件所在的窗口。

第10章面向对象数据库-PPT精选文档

第10章面向对象数据库-PPT精选文档

Ô Ï ¶ ó B
ô Ð Ê Ô 1 ­ ¡ ¡ ­ ô Ð Ê Ô r ½ · · ¨1 ­ ¡ ¡ ­ ½ · · ¨s
14
10.1 对象与类
10.1.3 类
类(Class)是对具有共同属性和方法的对象全体的 概括描述,它相当于关系模型中的关系模式。类给出 了属于其全部对象属性与行为的抽象定义,类中对象 仅是类定义中的一个实体,即对象实例。学生是一个 类,一个具体学生,例如John就是学生类中一个对象 实例。与关系模型需要首先描述关系模式类似,对象 模型也首先需要抽象描述具有共同属性的对象的类, 按照类来定义属性和方法,从而避免对每个对象一一 重复定义。查询操作等方法也定义在类上。
6
10.1 对象与类
10.1.1 对象
对象具有封装性、隐蔽性与稳定性等重要特性。 (1)封装性 封装(encapsulation)是使对象的外 部界面与内部实现之间实行清晰隔离的一种技术,是 OO模型的主要特征之一。封装使得用户只能看到对 象外在的界面信息(正如规格说明等),而看不到对 象内部的信息(如方法实现细节),对象内部信息对 于用户是屏蔽的。封装的意义首先在于安全性保证, 其次在于相关模块的可扩展性。
12
10.1 对象与类
10.1.2 消息
例 设一个对象A要求对象B完成其中的某种操作,则 只需向对象B发送一个消息即可。B接收到这个消息后, 根据消息模式找到与之匹配的方法,执行该方法后将 执行的结果又以消息的形式发送给对象A。
13
10.1 对象与类
10.1.2 消息
Ô Ï ¶ ó A
ô Ð Ê Ô 1 ­ ¡ ¡ ­ ô Ð Ê Ô n ½ · · ¨1 ­ ¡ ¡ ­ ½ · · ¨m á ¹ ½ û Ï û Ï ¢ ÷Ó µ Ã Ï û Ï ¢

第一讲概述

第一讲概述

返回节目录
面向对象
各种Windows应用程序中常见的窗口 、 菜单 、 控件 应用程序中常见的窗口、 菜单、 各种 应用程序中常见的窗口 等在PowerBuilder中都是对象。 中都是对象 等在 中都是对象。 中还可以创建自己的用户对象 在PowerBuilder中还可以创建自己的用户对象。对象 中还可以创建自己的用户对象。 既包括窗口、菜单、函数、结构、数据窗口和用户对象, 既包括窗口、菜单、函数、结构、数据窗口和用户对象, 也包括各种控件,如命令按钮、单行编辑框、 也包括各种控件,如命令按钮、单行编辑框、下拉列表框 这些大小对象都可在各种应用中重复使用, 等。这些大小对象都可在各种应用中重复使用,提高了开 发效率和软件质量。 发效率和软件质量。 每个对象都具有一些特性和特定的行为,被称为属性 属性、 每个对象都具有一些特性和特定的行为,被称为属性、 事件和方法。 事件和方法。
上机
上机
上机
参考教材
• 戴军湘,PowerBuilder10.0程序设计教程与 上机指导,清华大学出版社,2006(6) • 马景涛, PowerBuilder10.0实用教程,清华 大学出版社,2006(3) • 崔巍, PowerBuilder10.0实用教程,清华大 学出版社,2006(8)
返回节目录
支持多种数据库
PowerBuilder提供了对目前流行的大多数关系数 提供了对目前流行的大多数关系数 据库管理系统的支持。 据库管理系统的支持 。 PowerBuilder可以访问的 可以访问的 后 台 数 据 库 系 统 包 括 Oracle 、 Sybase 、 DB2 及 Informix等。 等 在开发应用程序时, 在开发应用程序时 , 数据库内部的细节对用户是 不可见的 不可见的。

PowerBuilder培训讲义

PowerBuilder培训讲义

目录第一讲面向对象与PB开发环境 ............................................ 错误!未定义书签。

一.开发工具总体介绍.......................................................... 错误!未定义书签。

二.面向对象技术与可视化开发环境.................................. 错误!未定义书签。

1.面向对象技术................................................................. 错误!未定义书签。

2.PowerBuilder可视化开发环境 ..................................... 错误!未定义书签。

三.熟悉开发环境.................................................................. 错误!未定义书签。

四.应用程序开发步骤.......................................................... 错误!未定义书签。

第二讲应用对象与事务对象 ................................................... 错误!未定义书签。

一.应用对象和应用对象画笔.............................................. 错误!未定义书签。

1.应用对象......................................................................... 错误!未定义书签。

2.应用库............................................................................. 错误!未定义书签。

第1章PowerBuilder 10 概述

第1章PowerBuilder 10 概述

图1-13 编辑窗口
PowerBuilder程序设计教程
1.4.4 完成一个应用
1. 窗口的设计 在窗口上布置控件,设置属性,如表1-1 所示。设计界面如图1-14所示。
表1-1 控件属性
PowerBuilder程序设计教程
2. 窗口的部分代码 1)应用对象的open事件代码 Open(w_ex1) 2)按钮“计算”的事件代码如图1-14所示。
PowerBuilder程序设计教程
1.2 PowerBuilder 10开发环境
表1-1 File菜单项
PowerBuilder程序设计教程
1.2 PowerBuilder 10开发环境
②Run • Run菜单项包括运行和调试的功能,如表12所示。
PowerBuilder程序设计教程
表1-2 Run菜单项
• 统一的数据库管理机制。 • 强大的数据传递、转换机制。 • XML技术的支持。 • Web服务的支持。 • 同 .NET的集成。 开发人员掌握这些技术,不但可以独立 使用PowerBuilder的强大开发工具开发企业 应用系统,同时,可以将PowerBuilder同其 他开发工具相结合,快速构建企业系统。
PowerBuilder程序设计教程
1.1 PowerBuilder 10 简介
• PowerBuilder是美国Sybase公司于20世纪 90年代初推出的基于C/S体系结构的面向对 象的数据库开发工具。该产品一上市即受 到广大应用开发人员的热烈欢迎,所开发 的系统广泛应用于金融、保险、邮电、商 业等领域,并发挥着巨大的作用。而新推 出的PowerBuilder 10,不但可以用于开发 高性能的分布式应用程序、C/S体系结构的 网络应用系统,还集成了Web应用开发功 能特性。

Powerbuilder10:D...

Powerbuilder10:D...

Powerbuilder10:D...Powerbuilder10:DataWindow调用存储器--对于造型说明无效的字符值解决办法[原创]摘要:powerbuilder10在用存储器调用时,retrive时出现错误:造型说明无效的字符值很多网友认为无法解决问题,或者讨论众多,但未见解决之。

我通过实践,在一年前即解决。

当然,这个问题颇费了我一些时间。

(据说原因是ODBC的不兼容问题,因为旧版本的直连方式没问题) 1. 编写procedure,如pr_query 2. 新增grid的datawindow,选择procedure方式,选择存储器:pr_query,选择手工设置字段。

下一步,完成。

3. 在界面的dw_1的事件sqlpreview中编写如下代码:——点击此处阅读全文发表于 @ 2007年08月30日 7:27 AM | 评论(0) |SQL,SQL2000:数据表命名和字段命名方法[原创]摘要:当然我还见过正规的数据库,它没有采用这种字母的分节方法,而是采用模组+数字方式,但原则还是分节,只是更具有系统性。

比如INV00100100101,字母在这里起到分模组的标识作用,而后面的数字分三节,而且每个层可以命名999个子模块。

可以知道,这是大型系统采用的最好方法。

在数据字典的强制作用下,设计和编写都会很规范。

并且扩充容易。

不容易混乱。

对ERP系统等,是最好的方法。

(最后的两位用于某表专署的外键等) ——点击此处阅读全文发表于 @ 2007年08月29日 10:17 PM | 评论(0) |中文垂直搜索引擎、行业搜索引擎大全(最新计137家) (转贴)摘要:此处主要针对新涌现的行业搜索、垂直搜索引擎。

累计137家(不包括传统搜索及其分类搜索),这应该是目前最全面的整理结果。

行业搜索:搜索对象针对所在的行业,采用类似传统通用搜索引擎的分词索引技术,返回关键词最匹配的结果。

垂直搜索:搜索对象针对所在的行业,采用数据采集、数据挖掘、数据整理等技术,返回经过加工处理的结果。

第10章 软件重用设计

第10章  软件重用设计

5.3.1 用于输入和显示的表现风格 6. N-Up(分栏)
N-Up风格的数据窗口对象提供分栏显示数 据的界面风格。它与Tabular风格的数据窗口 对象相似,增加的功能是一行可以显示多条数 据。创建N-Up风格的数据窗口对象时,需要 在“Set Number of Rows per Band”对话框 中指定分栏数。
3. PowerBuilder系统事件
(1) 基于Windows消息的 PowerBuilder为每个基于Windows消息的事件命名 一个事件标识(Event ID)。事件标识将事件与系统消 息连接起来。一个事件标识映射一个或多个Windows消 息。 (2) 与Windows消息无关的 有些系统事件没有事件标识,例如应用对象的Open 事件等。这些事件与PowerBuilder行为相关联,而不是 基于Windows消息的。
10.3 用户事件 10.3.1 理解事件 10.3.2 定义和触发用户事件
10.3.1 理解事件
1. 2. 3. 4. 5. Windows的消息处理机制 事件驱动的PowerBuilder应用程序 PowerBuilder系统事件 触发系统事件 事件和函数的异同
1. Windows的消息处理机制
2. 函数
函数是一种软件重用技术。面向对象程序设计中的函 数具有重载形式,可重用性强,维护性好。 PowerBuilder中有两种函数:全局函数与对象函数。 全局函数,独立对象,在整个应用程序范围可被重用。 对象函数,隶属于一种独立的PowerBuilder对象。可 为对象函数声明可重用权限,权限有3种:public、 protected和private。
102用户对象1021可视用户对象1022类用户对象1023用户对象的设计原则1024动态放置用户对象并传递参数1021可视用户对象标准可视用户对象标准可视用户对象standardvisualuserobject是用户定义的控件它以一种powerbuilder标准控件为基础增加了满足用户需求的特定功能
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PowerBuilder 10.0数据库应用开发教程
四、使用数据管道:
3.数据管道对象事件
Constructor:在用户对象建立时触发。 Destructor:在用户对象被清除时发生。 PipeEnd:在调用strat()或Repair()函数结束时发生。 PipeMeter:在以块为单位的纪录被读写后触发。 PipeStart:在调用start()或Repair()函数开始时发生。
PowerBuilder 10.0数据库应用开发教程
二、创建数据管道:
1.步骤
PowerBuilder 10.0数据库应用开发教程
二、创建数据管道:
2.数据管道工具栏及保存对话框
数据管道工具栏
单击工具栏按钮 ,对数据管道 对象进行保存,打开save data pipeline对话框
PowerBuilder 10.0数据库应用开发教程
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(10) 在窗口的关闭事件中编写如下代码: //关闭与数据库的连接 disconnect using tra_source; disconnect using tra_destination; //撤销事务对象 destroy tra_source destroy tra_destination //撤销数据管道对象 destroy uo_cutomer (11) 在数据窗口dw_source的retrieveend事件中编写如下代码: //检索数据窗口dw_destination dw_destination.retrieve()
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(3)创建一个继承于数据管道的不可视的标准用户对象,命名为uo_p_customer, uo_p_customer(用户对象)和p_customers(数据管道对象)的关系类似于数据窗 口控件和数据窗口对象的关系,前者提供编程用的属性、事件和函数,后者用于操 作数据库中的数据。 (4) 在uo_p_customer中定义如下实例变量: //用于显示数据管道的读、写和出错行数的静态文本 statictext ist_read,ist_write,ist_error (5) 在用户对象uo_p_customer的PipeMeter事件中编写如下脚本: //设置静态文本的值 ist_read.text=string(RowsRead) ist_write.text=string(RowsWritten) ist_error.text=string(RowsInError) (6)PipeMeter事件在数据管道每处理完一块数据后触发一次,数据块的大小由数 据管理对commit选项决定。假设P_customers的commit选项为10,那么PipeMeter事 件在数据管道每次处理完10条数据后发生一次。
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(8) 窗口定义如下实例变量 transaction tra_source transaction tra_destination uo_p_customer uo_cutomer (9) 为窗口open事件中建立数据库连接,代码为: // Profile House 连接源数据库 tra_source.DBMS = "ODBC" tra_source.AutoCommit = False tra_source.DBParm = "ConnectString='DSN=House数据源 ;UID=dba;PWD=sql'" connect using tra_source; if tra_source.sqlcode<>0 then messagebox("提示","连接源数据库失败 !") return end if
三、创建数据管道:
3.打开数据管道
选择File|open命令,打开open对话框 修改数据管道
PowerBuilder 10.0数据库应用开发教程
四、使用数据管道:
1.数据管道对象属性
RowsInError:管道中发现的错误的行数 RowsRead:管道已读取行数。 RowsWritten:写入数据库的行数。 DataObject:管道对象名。 Syntax:建立管道对象的语法字符串。
PowerBuilder 10.0数据库应用开发教程
第10章 数据管道
重点内容: • 数据管道概述 • 创建数据管道 • 使用数据管道 • 数据管道示例
PowerBuilder 10.0数据库应用开发教程
一、数据管道概述:
数据管道提供了 在同一数据库内或不同数据库之间, 甚至是不同的数据库管理系统之间快速复制数据的途 径
//连接目标数据库 // Profile EAS Demo DB V10 tra_destination.DBMS = "ODBC" tra_destination.AutoCommit = False tra_destination.DBParm="ConnectStr ing='DSN=EAS Demo DB V10;UID=dba;PWD=sql'" connect using tra_destination; if tra_destination.sqlcode<>0 then messagebox("提示","连接目 的数据库失败!") return end if
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(15) 放弃按钮的clicked事件编写如下代码: dw_error.reset() (16) 退出按钮的clicked事件编写如下代码: close(parent) (17) 在应用程序对象中编写代码 Open(w_0.0数据库应用开发教程
四、使用数据管道:
4.数据管道实现步骤
(1) 创建PipeLine类型的标准不可视用户对象 (2) 在PipeLine中创建一数据管道 (3) 创建一窗口(带一数据窗口控件和命令按钮) (4) 在open事件中创建第(1)步创建的不可视用户对象的实例变量 open 1 (5) 设置第(4)创建的实例变量的特性; (6) 连接源数据库和目的数据库; (7) 启动数据管道 (8) 动态修改进度(数据管道的PipeMeter)事件; (9) Cancel事件 (10) 管道修复 (11) 提示完成(pipeEnd事件) (12) 断开数据库,销毁用户对象。
PowerBuilder 10.0数据库应用开发教程
四、使用数据管道:
2.数据管道对象函数
Cancelr:中止管道执行; ClassName:返回用户对象的名称; GetParent:返回父对象的名称; PostEvent:在用户对象的消息队列末增加一个事件; Repair:修正目的数据库; Start:执行数据管道; Triggerevent:送一个事件到用户对象并执行事件脚本; TypeOf:返回用户对象的类型。
PowerBuilder 10.0数据库应用开发教程
四、使用数据管道:
5.创建数据管道用户对象
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
数据库House_ASA中的表house_info及其数据灌入到powerBuilder10.0的演示数据 库EAS Demo DB V10,步骤: (1) 以10.2.1的步骤,创建一个House_ASA数据库的customers为源表创建一个数据 管道对象,并以p_customers为对象名保存。 (2) 以表customers为基表创建数据窗口对象d_customers,显示风格为Grid,如图 所示。
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(12) 启动按钮的clicked事件编写如下代码: integer li_temp li_temp=uo_cutomer.start(tra_source,tra_destination,dw_error) if li_temp<>1 then messagebox("错误提示","数据管道在运行中发生错误") end if (13) 停止按钮的clicked事件编写如下代码: uo_cutomer.cancel() (14) 修复按钮的clicked事件编写如下代码: integer li_temp li_temp=uo_cutomer.repair(tra_destination) if li_temp<>1 then messagebox("错误提示","数据管道在修复中发生错误") end if
PowerBuilder 10.0数据库应用开发教程
五、数据管道示例:
(7)新建一个窗口对象w_pipeline_demo,用于和用 户交互,完成数据管道的启动、停止和修复操作。设 计界面如图
里面包含三个数据窗口 dw_source(源表)、dw_error(错误 信息)、dw_destination(目的表); 三个静态文本st_read(已读行数)、 st_write(已写行数)、st_error(出 错行数);五个命令按钮 cb_start(启动)、cb_stop(停止)、 cb_repair(修复)、cb_reset(放弃)、 cb_exit(退出)。
相关文档
最新文档