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:指定函数或事件的 ...
随机推荐
- Ubuntu下的解压缩
一. 命令: .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz ...
- Python时间戳和日期的相互转换
Python时间戳和日期的相互转换 (2014-03-17 11:24:35) 转载▼ 分类: Python 当前时间戳:time.time() 当前日期:time.ctime() 1.Pytho ...
- linux中~和/的区别
- spring/spring boot/spring cloud开发总结
背景 针对RPC远程调用,都在使用dubbo.dubbox等,我们也是如此.由于社区暂停维护.应对未来发展,我们准备尝试新技术(或许这时候也不算什么新技术了吧),选择使用了spring ...
- spring源码:Aware接口(li)
一.spring容器中的aware接口介绍 Spring中提供了各种Aware接口,比较常见的如BeanFactoryAware,BeanNameAware,ApplicationContextAwa ...
- ListView和Adapter数据适配器的简单介绍
ListView 显示大量相同格式数据 常用属性: listSelector listView每项在选中.按下等不同状态时的Drawable divider ...
- iOS中空字符串报错
*参考: http://www.ithao123.cn/content-8030945.html *参考: http://www.cnblogs.com/ziyi--caolu/p/4825633.h ...
- JavaSE 之 final 初探
我们先看一道面试题: 请问 final 的含义是什么?可以用在哪里?其初始化的方式有哪些? 首先我们回答一下这道题,然后再探究其所以然. 1.final 表示“最终的”.“不可改变的”,意指其修饰类 ...
- JSON金额解析BUG的解决过程
[原创申明:文章为原创,欢迎非盈利性转载,但转载必须注明来源] 这是在我们开发的一个支付系统中暴露的一个BUG,问题本身比较简单,有意思的是解决问题的过程.将过程分享出来,希望能够对大家有所帮助. 一 ...
- 在阿里云中编译Linux4.5.0内核 - Ubuntu内核编译教程
实验环境:Ubnuntu 64位(推荐使用14.04)+Xshell 阿里云现在提供的云服务器很好用的,用来编译内核性能也不错.本文介绍最基本的内核编译方法,为了方便,所有操作均在root用户下进行. ...