PB9核心之——数据窗口对象使用


概要

最近这几天一直在用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 then
       return0
else
       rt=messagebox("提示","添加修改内容未保存,确实退出吗?",Question!,YesNo!)
       ifrt=1 then
              return0
       endif
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 then
       dw_1.resetupdate()
       commit;
       cb_3.enabled=false
else
       rollback;
       messagebox("提示","保存数据失败!")
end if



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

close(parent)




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


总结


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




  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 42
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值