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


概要

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


实现

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

PB9核心之——数据窗口对象使用_第1张图片


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



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

PB9核心之——数据窗口对象使用_第2张图片


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

PB9核心之——数据窗口对象使用_第3张图片

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

PB9核心之——数据窗口对象使用_第4张图片

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

PB9核心之——数据窗口对象使用_第5张图片


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

PB9核心之——数据窗口对象使用_第6张图片


PB9核心之——数据窗口对象使用_第7张图片



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语句,只需要利用他们提供给我们的方法就可以实现增删改查的功能,并且关于数据窗口对象的样式也是有很多种风格的,使用起来还是很方便的。




你可能感兴趣的:(PB9核心之——数据窗口对象使用)