概要

最近这几天一直在用pb做一个小系统,经过这几天对pb9的使用,发现pb9的核心是数据窗口对象的使用,通过使用数据窗口对象可以将数据库的记录显示到界面上,并且可以直接在前台对数据库的记录进行增删改查,不用再后台写增删改查的sql语句,用起来很是方便,下面就来看下我们的具体实现过程。

实现

我们首先先看下具体的实现效果,在界面上我们点击添加,可以自动添加一行,我们只要手动输入即可,同样删除的话,选择某行直接删除即可。

实现的过程是首先添加数据窗口对象,然后与数据库中的表进行关联,同时对数据窗口进行设置,设置完成后将数据窗口对象与界面上的DataWindow控件进行绑定,我们通过图片来看下具体的过程。

1.选择要添加的数据窗口对象的风格

2.选择何种方式连接数据源

3.选择数据库中的表与数据窗口对象进行绑定

4.对数据窗口进行设置,设置表头和可编辑属性,图片中的2如果不设置,则数据窗口不可编辑,不能输入文本,我在这里花费了很长的时间。

5.下面两张图片设置数据窗口可更新属性,不设置的话,只可以进行查询,不可进行删除和增加。在此还有一点要说的是,数据库中要绑定的表必须有主键。

6.最后一步是将数据窗口进行保存。

7.添加window窗体,在窗体上添加与数据窗口对象关联的控件DataWindow。

数据窗口对象添加完毕以后,下面我们就来看下具体代码的实现

1.在窗口的open事件下代码:

//将数据窗口与控件进行绑定
dw_1.dataobject="d_user"
dw_1.settransobject( sqlca )
dw_1.retrieve()

2用户管理窗口w_yhgl的Closequery事件代码如下。

//窗体关闭时进行提醒
integer rt
dw_1.accepttext()
if dw_1.modifiedcount() =0 anddw_1.deletedcount()=0 thenreturn0
elsert=messagebox("提示","添加修改内容未保存,确实退出吗?",Question!,YesNo!)ifrt=1 thenreturn0endif
end if
return 1

3数据窗口控件的Itemechanged事件代码如下。

 cb_save.enabled=true   //激活“保存”按钮

4[添加]按钮控件cb_add的Clicked事件代码如下。

//添加功能的实现
integer row
row=dw_1.insertrow(0)
dw_1.scrolltorow(row)

5[删除]按钮控件cb_delete的Clicked事件代码如下。

//进行记录的删除
dw_1.deleterow(0)
cb_3.enabled=true

6[保存]按钮控件cb_save的Clicked事件代码如下。

//对添加和删除进行操作
if dw_1.update(true,false)=1 thendw_1.resetupdate()commit;cb_3.enabled=false
elserollback;messagebox("提示","保存数据失败!")
end if

7[退出]按钮控件cb_exit的Clicked事件代码如下。

close(parent)

到这里我们利用数据窗口对象实现记录的增删查就实现了。

总结

总的来说,我认为数据窗口和DataWindow其实就是一个封装好的控件,可以与数据库中的表进行绑定,我们对于记录进行增删改查时不再需要后台写SQL语句,只需要利用他们提供给我们的方法就可以实现增删改查的功能,并且关于数据窗口对象的样式也是有很多种风格的,使用起来还是很方便的。

PB9核心之——数据窗口对象使用相关推荐

  1. pb 修改数据窗口种指定字段位置_PB数据窗口对象之字段的修改属性

    数据窗口只能修改一个数据表.当数据窗口的数据来源于不止一个数据表时,可以用脚本控制数据窗口的修改属性来对数据表逐个进行修改. 当数据窗口是用来接受用户的手工录入数据时,应该设置两方面的属性才能确保数据 ...

  2. pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...

    如何在 PB 数据窗口中修改数据 --- 设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修 改了数据窗口中的数据,插入了新的数据行或者删除了数据行以后,只要调 ...

  3. PB数据窗口9种风格

    Grid: 表格风格 字段横向排列在detail band中,标签横向排列在header band中,和字段相对应,字段和字段之间有网格线分隔,类似于电子表格.在数据窗口的预览状态下可以调整字段的顺序 ...

  4. 数据窗口控件的函数Describe()

    Describe()  功能:返回数据窗口控件结构方面的指定信息包括DataWindow   对象以及数据窗口  对象中其他对象的属性取值数据窗口中的每个列每个标题等等都是对象各自都有一  组描述其特 ...

  5. PowerBuilder学习笔记(4)数据窗口(DataWindow)

    PowerBuilder学习笔记(4)数据窗口(DataWindow) 一.数据窗口对象(Object)与数据窗口控件(Control)     数据窗口对象是利用PowerBuilder所提供的数据 ...

  6. pb 数据窗口更新mysql_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...

    如何在PB数据窗口中修改数据 如何在PB数据窗口中修改数据---设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修改了数据窗口中的数据,插入了新的数据行或者删除 ...

  7. pb从数据窗口获得数据的方法总结(转自颜建荣ID:jeron1999)

    pb从数据窗口获得数据的方法总结 pb从数据窗口获得数据的方法总结 通过PowerBuilder的数据窗口对象属性,我们可以指定一定格式的表达式来直接从数据窗口中获得数据.这种直接的数据操作方法让我们 ...

  8. PowerBuilder创建动态数据窗口综述

    摘 要 PowerBuilder动态数据窗口技术为开发人员提供了强大.灵活的数据窗口开发手段,是PowerBuilder开发人员必修功之一.本文结合具体实例较为详细地介绍了这一技术. 数据窗口可以说是 ...

  9. PB 利用timer()函数实现定时将数据窗口以excel文档保存至指定地方

    今天客户突然提出要在系统里面实现数据窗口定时转档成excle文件并保存至指定地方,方便使用.花了一个小时时间终于给实现了.下面讲讲实现步骤吧,能力有限,互相交流. 1.首先在系统主窗口中,找到time ...

最新文章

  1. Python基础教程:list深拷贝和浅拷贝
  2. CentOS 初体验二十五:redis常用命令:sorted set
  3. 3分钟搞懂LSI原理
  4. 一篇关于Qt开发技巧的文章收藏
  5. maven 镜像_Maven(一)
  6. 分布式精华问答 | 如何实现分布式系统的高可用性?
  7. java 积分源码_Java生鲜电商平台-积分系统搭建与源代码下载?(小程序/APP)
  8. A+B for Matrices
  9. atitit..sql update语法的词法分析,与语法ast构建
  10. python自动抓取局域网文件_python使用tcp实现局域网内文件传输
  11. 利用t-SNE可视化Glove向量
  12. endnote初始化数据库支持_学术干货:Endnote免费网页版竟如此强大!
  13. 微信公众号发送客服消息-中文乱码
  14. mac 字体微软雅黑字体_在Microsoft Word 2007中搜索和替换特定格式(字体,样式等)...
  15. 2021全国电子设计大赛 D题 基于互联网的摄像测量系统 源码解析
  16. 推荐系统的PMF - 概率矩阵分解和协同过滤
  17. php直接读取csv文件,php怎么读取csv文件?
  18. 用户调查显示,Rust语言很难学习和使用
  19. 信息技术的分类方法有哪些?
  20. 跟老杜手撕Spring6教程(三)Spring的入门程序

热门文章

  1. html中鼠标悬停时间,jQuery悬停鼠标悬停/鼠标时间
  2. Android 常见的透明度颜色值ARGB 半透明 全透明
  3. 二阶常系数齐次线性微分方程的通解
  4. 【Java】使用PDF模板合成PDF文件(文本 + 图片)
  5. Uncaught TypeError: Cannot add property 0, object is not extensible 引起的思考
  6. 微型计算机字,小型微型计算机系统
  7. Python写简单的拼图小游戏
  8. 能力与知识、技能三者之间的区别与联系是什么?
  9. 2022年保险从业者要考什么样的证书?RFP、CFP、AFP哪个比较好?
  10. linux终端打英文间隔太大,解决vs code 内置终端,字体间隔过大问题。(linux centos7成功)...