pb數(shù)據(jù)窗口常用代碼_第1頁
pb數(shù)據(jù)窗口常用代碼_第2頁
pb數(shù)據(jù)窗口常用代碼_第3頁
pb數(shù)據(jù)窗口常用代碼_第4頁
pb數(shù)據(jù)窗口常用代碼_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、、連接數(shù)據(jù)庫連接數(shù)據(jù)庫也就是指定事務對象。PowerBuilder 提供了兩個函數(shù):SetTrans()和SetTransObject()。語法格式:dw_control.SetTrans(TransactionObject)dw_control.SetTransObject(TransactionObject)其中, dw_control 是所使用的數(shù)據(jù)窗口控件, transactionObject 是所要指定的事務對象。這兩個函數(shù)有一個重要的區(qū)別就是在使用 SetTrans()函數(shù)時,用戶不需做任何數(shù)據(jù)初始化或事務對象初始化工作。用戶只需要在這里填充一個事務對象,PB就會自動完成對該事物對

2、象的初始化以及和數(shù)據(jù)庫連接的工作。而使用SetTransObject()函數(shù)時,用戶必須首先把所用的事務對象連接到數(shù)據(jù)庫上。但是,這并不意味著 SetTrans()函數(shù)比 SetTransObject()函數(shù)更好,使用 SetTrans()函數(shù)時,每調(diào)用一次函數(shù)必須連接一次數(shù)據(jù)庫,因為這個函數(shù)在每個事務處理為末端都會執(zhí)行 Disconnect 語句。與此相反,使用 SetTransObject()函數(shù)可以為數(shù)據(jù)庫維持一個開放性的連接。因此在一般情況下,為了提高效率,總是采用SetTransObject()函數(shù)。這兩個函數(shù)都是成功時返回 1,發(fā)生錯誤時返回-1。二、檢索數(shù)據(jù)用于檢索數(shù)據(jù)的函數(shù)只有

3、一個,就是 Retrieve。函數(shù)。語法格式:dw_control.Retrieve()如果數(shù)據(jù)窗口控件上的數(shù)據(jù)窗口對象是有檢索參數(shù)的,就要在這個函數(shù)調(diào)用時加上檢索參數(shù)。而且檢索參數(shù)必須和數(shù)據(jù)窗口對象中定義順序一致。此函數(shù)返回一個長整型的數(shù)據(jù),代表檢索出來的數(shù)據(jù)行數(shù)。如果發(fā)生錯誤,將返回-1。三、更新數(shù)據(jù)當用戶對數(shù)據(jù)窗口對象內(nèi)的數(shù)據(jù)修改后,想把這些修改反映到數(shù)據(jù)庫中去時,必須使用 Update()函數(shù)。語法格式:dw_control.Update()這不更新可能成功,也可能失敗。一般在這個函數(shù)被調(diào)用之后,總是要做一個檢查。請看下面的例子:Intli_returnli_return=dw_1.U

4、pdate()IFli_return=1THENCOMMITUSINGSQLCA;ELSEROLLBACKUSINGSQLCA;ENDIF在這段代碼中,首先對數(shù)據(jù)窗口控件進行更新操作。但是更新只是把數(shù)據(jù)寫入到客戶機的內(nèi)存,并沒有提交到數(shù)據(jù)庫中。如果更新成功,就把它提交到數(shù)據(jù)庫中,如果更新失敗,就回滾到當前的事務。行操作行操作的函數(shù)主要是對數(shù)據(jù)庫中的數(shù)據(jù)進行插入、刪除或選擇操作。一、插入行在 DataWindow 中插入一行,可以使用 InsertRow()函數(shù)。語法格式:dw_control.InsertRow(rownumber)dw_control 是數(shù)據(jù)窗口控件名,rownumber 是

5、要插入行的的行號。如果這個參數(shù)為 0,代表在當前 DataWindow 的最后一行插入一空行。InsertRow()函數(shù)返回一個長整型值,以此來代表插入的行號。如果插入失敗,則返回-10二、刪除行要刪除 DataWindow 內(nèi)的一行數(shù)據(jù),則要使用 DeleteRow()函數(shù)。語法格式:dw_control.DeleteRow(rownumber)其 Rrownumber 是要刪除的行號。如果該值為 0,表示刪除當前行。如果刪除成功,返回 1,失敗則返回-1o三、設置當前行如果要設置 DataWindow 中的某行為當前行,可以使用 SetRow()函數(shù)。語法格式:dw_control.Set

6、Row(rownumber)其中 rownumber 是要設置為當前行的行號。如果函數(shù)返回 1 表示成功,返回-1代表失敗。四、獲取當前行如果想要獲取 DataWindow 中的某行為當前行,可以使用 GetRow()函數(shù)。語法格式:dw_control.GetRow()該歷數(shù)沒有參數(shù),它返回一個長整型,代表當前行號。如果返回-1 代表失敗。如果返回 0 代表沒有選中任何行。五、選擇行如果想要在 DataWindow 中加亮顯示某一行或取消加亮顯示某一行,可以使用SelectRow()函數(shù)。語法格式:dw_control.SelectRow(rownumber,select)其中,rownum

7、ber 表示要加亮或者取消加這顯示的行號,0 表示所有行。select是一個布爾類型的值,TRUEg 示加亮,F(xiàn)ALSER 示取消加亮顯示。該函數(shù)返回 1 時表示成功,返回-1 時表示失敗。如果想要直接設置某一行為加亮,需要首先取消其它行的加亮顯示狀態(tài),采用如下的兩行代碼:dw_1.SelectRow(0,FALSE)dw_1.SelectRow(rownumber,TRUE)六、獲取選擇行如果想要獲取當前 DataWindow 中加亮顯示的行,可以使用 GetSelectRow()函數(shù)。語法格式:dw_control.GetSelectRow(rownumber)其后,rownumber 為

8、開始查找的行的行號,0 表示從頭開始查找。該函數(shù)返回一個長整數(shù),表示從 rownumber 開始查找第一個加亮顯示的行的行號。如果失敗返回 0。七、滾動行如果在 DataWindow 的末尾插入一行數(shù)據(jù),而當前行是在 DataWindow 的中央,那么這種插入可能不會被用戶覺察。為了改變這種情況,可以滾動行到 DataWindow 的末尾,這樣用戶就能發(fā)現(xiàn)新的改變。要滾動行,可以使用 ScrollToRow()函數(shù)語法格式:dw_control.ScrollToRow(rownumber)該畝數(shù)返回 1 時表示成功,返回-1 時表示失敗。與 ScrollToRow()函數(shù)據(jù)功能相關(guān)的還有如下幾

9、個函數(shù):ScrollPriorRow():向上滾動一行ScrollNextRow():向下滾動一行列操作列操作類的函數(shù)主要是選擇指定的列和獲取列的信息一、獲取列如果要獲取當前的列號,可以使用 GetColumn()函數(shù),如果要獲取當前的列名,可以使用 GetColumnName()S 數(shù)。語法格式:dw_control.GetColumn()dw_control.GetColumnName()這而個函數(shù)都沒有參數(shù),GetColumn()函數(shù)返回一個長整型值,代表當前的列號,GetColumnName(由數(shù)返回當前列的列名。如果返回 0,表示當前沒有任何列被選擇返回-1 表示失敗。二、設置列要設

10、置某一列為 DataWindow 中的當前列,可以使用 SetColumn()函數(shù)。語法格式:dw_control.SetColumn(column)其 Rcolumn 既可以是列號,也可以是列名。當該函數(shù)返回 1 時表示成功,返回-1 時表示失敗。數(shù)據(jù)操作數(shù)據(jù)操作類的函數(shù)主要是對 DataWindow 中的數(shù)據(jù)進行獲取、設置。一、獲取數(shù)據(jù)如果要從 DataWindow 的指定行和列中獲取數(shù)據(jù),就要使用 GetItem 系列的函數(shù)。這個系列的函數(shù)共有五個,分別是對字符串、數(shù)字、日期、日期時間和小數(shù)。語法格式:dw_control.GetItemString(rownumber,column)d

11、w_control.GetItemNumber(rownumber,column)dw_control.GetItemDate(rownumber,column)dw_control.GetItemDateTime(rownumber,column)dw_control.GetItemDecimal(rownumber,column)其中,rownumber 參數(shù)表示行號,column 可以是列號或列名、設置數(shù)據(jù)與獲取數(shù)據(jù)所用的函數(shù)不同,設置 DataWindow 內(nèi)指定行列處的數(shù)據(jù)只要使用一個 SetItem()函數(shù)就可以了。語法格式:dw_control.SetItem(rownumber

12、,column,value)其中 rownumber 表示行號,column 可以是列號,也可以是列名,value 表示要設置的值。但是該必須與 DataWindow 中指定的行列處的數(shù)據(jù)類型一致,不然PowerBuilder 會報錯。SetItem()函數(shù)返回 1 時表示成功,返回-1 時表示失敗。三、數(shù)據(jù)排序如果希望對 DataWindow 內(nèi)的數(shù)據(jù)進行重新排序,而又不想重新從數(shù)據(jù)庫中檢索數(shù)據(jù),可以使用 SetSort()和 Sort()函數(shù)。這兩個函數(shù)一起完成對 DataWindow 進行排序的功能。其中 SetSort()函數(shù)用于設置如何排序,Sort()函數(shù)用于對 DataWindo

13、w 實際進行排序。語法格式:dw_control.SetSort(expression)dw_control.Sort()其中 expression 是一個字符用,表示排序的表達式,它的具體值是一個列名后面加一個空格,然后是A”,表示升序,或D”,表示降序。如果有多個列要同時進行排序,它們之間用逗號隔開。例:dw_1.SetSort(nameA,xhD)這兩個肅數(shù)都是返回 1 表示成功,返回-1 表示失敗。四、數(shù)據(jù)過濾如果希望對 DataWindow 內(nèi)的數(shù)據(jù)進行過濾而不重新從數(shù)據(jù)庫中檢索數(shù)據(jù),可以使用SetFilter()和 Filter()函數(shù)。它們一起完成對數(shù)據(jù)的過濾功能。其中 SetF

14、ilter()函數(shù)用來設置過濾條件,F(xiàn)ilter()函數(shù)用于對 DataWindow 進行過濾。語法格式:dw_control.SetFiter(expression)dw_control.Fiter()其中 expression 是一個字符用,表示過濾的條件,它實際是一個邏輯表達式例:dw_1.SetFilter(id003ANDnamelike王”)dw_1.Filter()這兩個函數(shù)都是返回 1 表示成功,返回-1 表示失敗。五、數(shù)據(jù)檢查PowerBuilder 提供了兩個函數(shù)用于數(shù)據(jù)的檢查,它們是 DeleteCount()和ModifiedCount(),其作用分別是檢查 DataWindow 中的數(shù)據(jù)自上一次更新到現(xiàn)在,被刪除的行數(shù)和被修改的行數(shù)。它們一般在窗口的 CloseQuery 事件中使用,用來檢查該窗口的 DataWindow 中的數(shù)據(jù)是否有尚未保存的修改。語法格式:dw_control.DeleteCount()dw.control.ModifiedCount()它們分別返回從上一次更新到現(xiàn)在,DataWindow 中被刪除和被修改的行數(shù)。如果沒有行被刪除或被修改,那么它們返回 00如果出現(xiàn)錯誤則返回-1。一般情況下,如果窗口中含有可供修改的數(shù)據(jù)窗口對象,那么在窗口的 CloseQuery 事件中通常使用如下代碼檢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論