PB学习第五天

PB中数据窗口的函数小结 --  作者:星科--  发布时间:2004-8-12 18:23:04--  数据窗口控件函数数据窗口控件函数本节将介绍:· 与数据库有关的函数 · 行操作 · 列操作 · 数据操作 本节重点:· 数据窗口控件的作用 本节难点: ·   本节要求:· 掌握数据窗口控件的作用 PowerBuilder为数据窗口控件提供了丰富的函数,这些函数使用户能够在使用数据窗口控件时得心应手。与数据库有关的函数 阅读详情

今天分享一个增删改查小程序
如图
在这里插入图片描述
这里我就直接提供代码,实现此功能的步骤之前都有讲解。

1.首先是app里面添加连接数据库代码

在这里插入图片描述

2.然后主窗口添加查询数据方法

//设置数据窗口是的连接事务为sqlca
dw_grid.SetTrans( sqlca)

//为数据窗口检索数据
dw_grid.Retrieve( )

3.刷新按钮的方法

//刷新数据
dw_grid.Retrieve( )

4.增加按钮的方法

//参数0表示在最后一行插入
dw_grid.InsertRow(0)

5.删除按钮的方法

long ll_row
long ll_rtn

//获取数据窗口当前的行号
ll_row = dw_grid.GetRow( )

//点击是表示,删除当前行数据
//点击否表示,取消并退出

ll_rtn=MessageBox(‘提示’,‘确定删除’+string(ll_row)+‘行数据吗?’,Question!,YesNo!,1)

if ll_rtn=1 then

//删除当前行
dw_grid.Deleterow(ll_row)

//调用保存按钮的事件,进行保存
cb_save.Triggerevent(clicked!)
end if

6.保存按钮的方法

//update()更新方法
//返回值为1,表示更新成功
//返回值为2,表示更新失败
if dw_grid.update( ) = 1 then
Commit;
MessageBox(‘提示’,‘保存成功!’)
else
Rollback;
MessageBox(‘提示’,‘保存失败!’)
end if

完成效果如下
在这里插入图片描述
滚动条在DW窗口勾选VScrollBar就行了
在这里插入图片描述

pb编程高亮行,插入行,条件查询等操作 1.高亮 if row this.selectrow( 0,false) this.selectrow(row,true);   2.插入行,聚焦和设置行列的属性值 ll_insertrow=this.insertrow(0) //插入行 dw_2.setfocus();  / /聚焦 dw_2.setcolumn(ls_columnname); dw_2.SetItem(l 阅读详情

相关推荐

蓝桥杯PythonB组打卡第五天

给定一个以秒为单位的时间t,要求用“<h>:<f>:<m>”的格式来表示这个时间。<h>表示时间,<f>表示分钟,<m>而表示秒,它们都是整数且没有前导的“0”。按上面的规则21:54读作“twenty one fifty four”,9:07读作“nine seven”,0:15读作“zero fifteen”。1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。输出只有一行,是以“::”的格式所表示的时间,不包括引号。

2301_81150224的博客 979

pb常用函数

--pb常用函数  create by amu on 20120529 1.弹出窗口 messagebox('系统提示','数据错误',question!,yesno!2) 2.设置焦点 对象名.setfocus 3.触发事件 对象名.triggerevent() 另postevent也是触发功能,用法一样,不过却不是立即触发 4.关闭窗口 close(parent\windown

tlammon的专栏 2016

PB 刷新datawindow当前行的数据

当数据存在主次表时,当更新了次表数据后,主表数据在后台有更变时。可利用刷新主表当前行的方法重显主表数据。 /************************************************************ 函数名称: f_refresh_currentrow(adw) 功 能: 刷新DW当前行数据,不可刷新NO update or 带arguments的DW 参数说明: adw 目标DW 返 回 值: integer 成功返回1,失败返回-1 作 者: sean 创建时间: 2010年8月18日 ************************************************************/ string ls_dataobject string ls_keys[] //key Column Name string ls_dbname[] //key field Name string ls_coltype[] //field style string ls_tablenm //table name string ls_condition //sql Condition long ll_currentrow //Current Row numeric long ll_column //Column count integer i datawindow ldw datastore ldatastore ldw=adw if ldw.rowcount( )=0 then return -1 elseif trim(ldw.describe( "datawindow.table.arguments"))<>'?' then messagebox('','刷新数据窗口当前行失败!,数据窗口需要参数',exclamation!) return -1 else ll_currentrow=ldw.getrow( ) FOR ll_column = 1 TO long(ldw.object.datawindow.column.count)//key names If ldw.Describe("#"+string(ll_column)+".key") ='yes' Then i++ ls_keys[i]=ldw.Describe("#"+string(ll_column)+".name") ls_dbname[i]=ldw.Describe("#"+string(ll_column)+".dbname") ls_coltype[i]=ldw.Describe("#"+string(ll_column)+".coltype") End If NEXT if upperbound(ls_keys[])=0 then messagebox('','刷新数据窗口当前行失败!,没有主键',exclamation!) return -1 else ls_tablenm=left(ls_dbname[1],pos(ls_dbname[1],'.') -1) //table name for i=1 to upperbound(ls_keys[]) if pos('numb,deci,long,',LeftA(ls_coltype[i],4) +',')>0 then ls_condition+="and "+ls_dbname[i]+"="+string(f_getitem(ldw,ll_currentrow,ls_keys[i])) else ls_condition+="and "+ls_dbname[i]+"='"+string(f_getitem(ldw,ll_currentrow,ls_keys[i]))+"'" end if next ls_condition=mid(ls_condition,4) //sql Condition ldatastore=create datastore ldatastore.dataobject=ldw.dataobject ldatastore.settransobject( sqlca) if f_addwhere_retrieve(ldatastore,ls_condition)=1 then if ldatastore.rowcount( )=1 then ldw.object.data[ll_currentrow]=ldatastore.object.data[1] ldw.setitemstatus( ll_currentrow, 0, primary!, NotModified!) //if ldw.getrow( )<>ll_currentrow then ldw.scrolltorow( ll_currentrow) end if else messagebox('','刷新数据窗口当前行失败!,条件语法错误',exclamation!) return -1 end if destroy ldatastore end if end if

pb函数库 - DataWindow常用函数(转)

1、插入一条记录:dw_1.insertrow(cur_row)其中,dw_1为datawindow控件名,cur_row为一具体的行号,在该行前插入一新行。 例如:dw_1.insertrow(4)表示将在第4行前插入一条空记录。该函数有一个返回值,该值为新插入这条记录的行号。 2、删除一条记录:dw_1.deleterow(del_row) 其中,dw_1为datawindow控件名,de

茄肥猫的窝 1194

powerbuilder数据窗口的增删改查

使用pb和oracle数据库完成的一个小程序,利用了数据库窗口的“定义检索参数”。

中国1990-2021连续30年土地利用CLCD数据分享

CLCD(China Land Cover Dataset)数据集是由武汉大学黄昕老师基于Google Earth Engine上的335,709景Landsat数据制作的中国年度土地覆盖数据集。为了提高CLCD的时空一致性,还提出了一种包含时空滤波和逻辑推理的后处理方法。该数据集最大的优势在于每年30米的土地利用分类结果,且连续覆盖了30年时间。相比其他产品如GLC_FCS30、Global30、AGLC2000_2015、FROM-GLC10、ESA10、ESRI10等,CLCD在时间分辨率上更高。

qq_48539301的博客 1万+

pb数据窗口快速插入空行的方法

//====================================================================// 函数: wf_insertrow()//-----------------------------------------------

yyoinge的专栏 4284

Cursor AI编程工具保姆级安装指南:从下载到中文界面设置(含免费额度说明)

本文提供Cursor AI编程工具的保姆级安装与设置教程。详细指导从官网下载、安装到中文界面切换的每一步,并重点说明其每月500次高级模型调用的免费额度策略。通过个性化设置与核心插件推荐,帮助开发者快速上手,提升AI辅助编程效率。

weixin_29191761的博客 671

学习Java的第五天(周总结)

Map接口中都存储的是key(键)和value(值)。每一个key都是不重复的,值是可以重复的。每一个key只能对应一个value,称之为键值对一个Map由多个键值对组成。X将每一个键值对都看作一个对象,抽取出一个代表键值对的类,Map.EntryHashSet的底层原理,实际上HashMap底层原理和HashSet是一样的。为什么这么说呢?因为我们往HashSet集合中添加元素时,实际上是把元素作为添加添加到了HashMap集合中。

sakuraaan的博客 807

AIGC在游戏行业的应用:革新游戏开发与体验

AIGC(人工智能生成内容)技术正在深刻改变游戏行业,从开发到体验全面革新。在游戏开发中,AIGC可用于自动生成关卡、角色和剧情,提升开发效率;在资源制作中,通过AI生成场景、角色模型等,降低成本。

1664

【CTFhub】——hate_php2021

【CTFhub】——hate_php2021

manerzi的博客 1605

stm32学习第五天

【注意】2.在初始化usart模块:波特率、数据位、停止位、校验位、工作模式(收发/收/发)后,要闭合模块的总开关,使用编程接口USART_Cmd去使能总开关!则需要开启的时钟有:AFIO\GPIOB!2.TC标志位:发送数据完成,TDR和移位寄存器均为空。【注意】1.在任意数据发送前要确认TDR是否为空,防止数据被覆盖,方法是:判断标志位TXE == 1。【注意】3.初始化IO引脚方面,若使用了重映射:TX--PB6 RX--PB7。TXE:发送数据寄存器为空。

qq_74102080的博客 182

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(一)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)A. genvarB. integerC. wireD.reg参考答案:AA.综合的时候,define无法跨文件列表生效B.宏定义文件最好放在一个文件中集中管理,防止出现不同的项目需要修改不同的宏定义值,但是却漏改了某些地方的情况出现。

qq_42135020的博客 5775

QT学习的第五天

QT****学习的第五天 一、铆接部件和中心部件 / ******* * ** 铆接部件 ******** ** **/ QDockWidget* dock=new QDockWidget(this);//add addDockWidget(Qt::LeftDockWidgetArea,dock); QTextEdit* text=new QTextEdit(this);//set 一个中心部件 setCentralWidget(text); dock->setAllowedAreas(Qt::L

m0_52487250的博客 127

【100%通过率】华为od机试C卷【出差 / 员工派遣】Java&Go 实现

某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工部门每个员工有一个员工号 (1,2,3,......),工号连续,从 1开始。部长派遣员工的规则:

MISAYAONE的博客 2639

YOLO26改进策略【Neck】| CVPR2025 LCA轻量交叉注意力 跨层级双向引导 + 分层降噪增强,提升微小目标特征表达

简单相加、拼接融合无法建立深浅层双向约束关系,浅层微小目标易被深层背景覆盖,深层全局信息难以修正浅层噪声;普通单路自注意力仅单一层内建模依赖,缺少跨层级特征互引导机制,深浅特征信息割裂;标准多头跨注意力计算量大、参数量高,轻量化单模态检测/分割网络部署困难,无法区分前景目标与背景噪声。为此设计单模态轻量化交叉注意力LCA,构建浅层细节、深层语义双分支双向引导结构,轻量完成跨层级特征交互,同步降噪并强化单模态微小目标特征。

Limiiiing的博客 522

学习中断配置的一天(第五天)

本文介绍了STM32外部中断的基础知识及配置方法。主要内容包括:1)外部中断与GPIO引脚的对应关系(16个EXTI线对应不同GPIO引脚);2)中断配置流程,分为中断源配置(时钟使能、GPIO初始化、SYSCFG配置、EXTI设置)和NVIC配置(优先级分组、通道设置);3)外部中断服务函数的编写规范及按键功能实现(切换行驶状态、调节速度等)。文章为STM32智能矿探小车的开发提供了外部中断的应用指导。

m0_74239765的博客 1033

华为 MetaERP 财务模块的核心业务对象,按子模块与架构维度分类,以表格呈现,适配架构设计与实施落地

华为MetaERP财务模块基于4A架构(业务/应用/数据/技术)与TOGAF框架,实现业财一体化与全球合规。业务架构涵盖组织模型与核心流程,应用架构支撑财务操作,数据架构确保数据一致性,技术架构提供高性能技术底座。模块覆盖总账、应收应付、资产等子模块,支持多组织、多币种、多准则核算,通过实时会计引擎实现"交易即核算"。4A架构与TOGAF框架对应,实现业务能力、应用组件、数据模型与技术栈的深度融合,为华为全球化财务核算提供核心支撑。

金牌架构师 437

学习C语言第五天记录

由于前几天电脑坏了,所以没及时更新。今天我学习函数的一部分知识。 首先是库函数的定义以及用法,库函数直接拿来用就行,其次就是自定义函数,就是自己写的函数用来完成一部分功能,然后就是函数的调用有两种,一是传参调用,二是传址调用,最后,明白了实参与形参。具体代码如下: #include<stdio.h> //int Add(int x, int y) { // int z = 0; // return z = x + y; //} //int main() { // int a = 10; // i

qq_45725645的博客 194

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

我的caffe学习之路<第五天>

充实的一天。。。

change_things的博客 5221

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C语言百日刷题第五天

C语言百日刷题第五天

子夜的个人博客 4458

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

LQH入职第五天--protobuf学习

1、protobuf的介绍和优缺点 protof的描述 首先 protobuf是一个开源项目,是goole内部久经考验的一个东西。主要用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过他更小,更快,也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。甚至可以在无需重新部署程序的情况下更新数据结构。 protobuf的优点: (1)性能好/效率高 时间开销: XML格式化(序列化)的开销还好;但是XML解析(反序列化)的开销就不敢恭维了。 但是protobuf在这个

weixin_42282999的博客 723

c高级第五天

printf("len的长度为%d\n",sum);printf("不相等");printf("相等");

nanfeng321110的博客 791

Hadoop第五天--HDFS详解

文章部分选自:https://blog.youkuaiyun.com/gwd1154978352/article/details/81095592 自己的话:层楼终究误少年,自由早晚乱余生 眼泪你别问,joker这个 “男人” 你别恨 Hadoop第五天–HDFS详解 先简单介绍一下Hadoop的结构以及各部分的组成和作用 hadoop的核心 1.HDFS: Hadoop Distributed Fi...

你怎么回事 774

跟着韦东山老师学习STM32—HAL库随记(第五天)

摘要:本文介绍了C语言中枚举(enum)和结构体(struct)的核心区别,枚举用于定义互斥的符号常量,结构体用于聚合不同类型的数据。详细分析了STM32中断体系的三层结构:外设与EXTI信号产生层、NVIC仲裁管理层和CPU执行响应层,并给出中断处理代码示例。最后讲解了OLED显示原理及常用函数,包括初始化、字符显示、字符串打印等操作,并提供了测试代码示例。

wushushanshansha的博客 1043

深度学习caffe搭建

经过一个月的时间,从开始接触深度学习到环境搭建终于成功了! 发表第一篇博客 庆祝一下   按照21天实战caffe 进行架构搭建出现的错误大致的解决办法, Ubuntu用的是14.04 在进行依赖包glog下载 由于google的限制需要翻墙很麻烦 我直接在优快云里下载的依赖包  按照里面第三天的要求进行操作 后来到第五天发现这些依赖包没什么用   直接到第5天  ProtoBuffe

WSNjiang的博客 530
上一篇: PB学习第四天(好东西哦)
下一篇: PB小知识之快捷代码
code_bugGG
博客等级 码龄7年 22粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值