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