PowerBuilder笔记
powerbuilder中怎样新建一个pbl文件
在创建pbw之后,右键单击pbw,点新建,弹出对话矿,按图操作,就能创建pbl


主程序入口:

主程序入口代码:
// Profile ahzbmysql
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=数据库名称;UID=用户名;PWD=密码'"
//connect;
fconnectdb()
open(w_test)//默认打开的程序
其中SQLCA要与程序中的表对应
创建新程序时:
首先创建数据对象,方法如下:
建数据对象(数据窗口):
右击项目根目录选择new

一张表时可以使用快速选择:

选择一张表



需要选择多张表关联时:
同样新建datawindow,选择grid点击ok

选择SQL Select

选择需要显示的数据表,可多选

点击选择需要的字段,选完后关闭窗口,选择是

直接点击next

点击finish

进入下图,多表关联数据窗口建好,点击关闭按钮

关闭是选择是进行保存,在下图中箭头1处填数据窗口如d_weekbcinfo,箭头2处选择保存在哪个项目,左后点击ok即完成

建主程序窗口
首先点击new,选择pb object 中的window如下图所示:

成功后进入下图页面,即程序建好

点击工具栏中按钮性状图标,可选择要加入的控件,常用的有按钮和数据窗口:

例如,选择数据窗口后,在空白处点击,可添加箭头1中的数据窗口,在箭头2处可添加数据来源


加入数据窗口后,右击空白处,选择script,加入下面的语句,有多少个数据窗口加多少代码,括号中字段要和主程序入口中一致,最后保存数据时也要保持一致
dw_1.settransobject(sqlca1)
dw_2.settransobject(sqlca)
常用指令:
弹出cnt1的值:Messagebox("",int(cnt1))
获得第i行的作物名称值zwname = dw_1.getitemstring(i, "t_zb_zwtype_zwname")//多表时要加表名与数据窗口中一样
row=dw_2.insertrow(i)//新添加行数,直接修改不需要此代码
dw_2.setitem(row, "zwname", zwname) //将取的值插入到表二的第i行
使用pb写sql语句:

PowerBuilder笔记的更多相关文章
- PowerBuilder学习笔记之1开发环境
Powerbuilder Classic 12.5开发环境(PB经典 12.5) 教材链接:https://wenku.baidu.com/view/5e087d6ab9f67c1cfad6195f3 ...
- PowerBuilder学习笔记之14用户自定义对象
教程链接:https://wenku.baidu.com/view/9730d1c7aa00b52acec7ca05.html?re=view&rec_flag=default&sxt ...
- PowerBuilder学习笔记之3应用对象
教材地址:https://wenku.baidu.com/view/49121fdb6f1aff00bed51e05.html?sxts=1565760465744 3.1.1什么是应用对象(Appl ...
- PowerBuilder学习笔记之2PowerScript语言(三)
教材地址:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.6嵌入式SQL语句 2.6.1 ...
- PowerBuilder学习笔记之2PowerScript语言(一)
教材链接:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.1PowerScript基础 ...
- PowerBuilder学习笔记之行删除卡死问题
在数据窗口勾选这两个选项后,在删除行数据时会导致系统直接崩溃退出
- PowerBuilder学习笔记之导入Excel数据
原文地址:http://blog.chinaunix.net/uid-20586802-id-3235549.html /*****************简单的导入功能,涉及到数据类型判断***** ...
- PowerBuilder学习笔记之打开Expressino属性页
- PowerBuilder学习笔记之调用事件和函数
2.7.1调用事件和函数 完整语法:[ObjectName]ancestorclass::[type][when]name([argumnetlist]) 说明:ObjectName:指定函数或事件的 ...
随机推荐
- java集合你了解多少?
用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...
- ubuntu安装navicat及常见问题解决
1.安装navicat Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html Step2:进入下载目录,解压压缩包 ...
- springmvc<一>一种资源返回多种形式【ContentNegotiatingViewResolver】
restful服务中一个重要的特性就是一种资源可以有多种表现形式,在springmvc中可以使用ContentNegotiatingViewResolver这个视图解析器来实现这种方式. 描述资源的三 ...
- EasyUI datagrid 日期时间格式化
EasyUI datagrid中显示日期时间时,会显示为以下不太直观的数值: 添加以下JavaScript脚本,然后在field中添加 formatter: DateTimeFormatter 即可. ...
- j2ee log4j集中式日志解决方案logpool-v0.2
下一个小版本会进行清理. war包下载地址 http://pan.baidu.com/s/1nvGmORn
- js数组转换问题
一维数组转多维数组 var arr=[1,2,3,4,5,6,7,8,9,10]; function splitArray(arr,size){ var result = []; var tempAr ...
- arcgis 按面积分割, 按比例分割面积,按等份批量面积分割工具
arcgis 按面积分割, 按比例分割面积,按等份批量面积分割工具 视频下载:https://yunpan.cn/cvujkpKIqwccn 访问密码 e9f4
- iOS多线程之7.NSOperation的初识
NSOperation和GCD一样,不用我们管理线程的生命周期,加锁等问题,只要把操作封装进NSOperation中,系统会自动帮我们创建线程,执行操作.而且他是面向对象的,我们看起来更容易理解,使用 ...
- iOS 获取当前点击的坐标
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { NSSet *allTouch ...
- IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查.下面我就开始进入正题了. 目前使用人数最多的第三方网络库, ...