1. 程式人生 > >PB9核心之——資料視窗物件使用

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語句,只需要利用他們提供給我們的方法就可以實現增刪改查的功能,並且關於資料視窗物件的樣式也是有很多種風格的,使用起來還是很方便的。