數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法

數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法

ID:34772641

大?。?2.09 KB

頁數(shù):3頁

時間:2019-03-10

數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法_第1頁
數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法_第2頁
數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法_第3頁
資源描述:

《數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法數(shù)據(jù)窗口中讀取數(shù)據(jù)的方法?------------------------------------------------------------------------------  讀取數(shù)據(jù)窗口中的數(shù)據(jù),這是數(shù)據(jù)窗口進(jìn)行的最簡單、最基本的操作。通常的做法是使用函數(shù),其他方法如使用數(shù)據(jù)窗口對象屬性直接引用字段的技術(shù)在后面專門介紹。本文介紹一些基本的讀取數(shù)據(jù)的方法。  使用函數(shù)GetItemX是常用的做法,其中的X和要讀取字段的類型兼容。例如,要讀取string類型字段中的數(shù)據(jù)

2、,可以使用函數(shù)GetItemString,要讀取Date類型字段中的數(shù)據(jù),應(yīng)該使用函數(shù)GetItemDate。所以,在讀取數(shù)據(jù)之前,應(yīng)該首先清楚要讀取的數(shù)據(jù)的類型。這些函數(shù)的格式是:  dwcontrol.GetItemX(row,column{,dwbuffer,originalvalue})  其中的X可以替換成Date、DateTime、Decimal、Number、String、Time,所以讀取數(shù)據(jù)的函數(shù)有6個。參數(shù)row表示要讀取哪行的數(shù)據(jù),是一個long類型數(shù)值。column代表列,可以

3、是string型的列名,也可以是整型的列號。dwbuffer是DWBuffer枚舉型,取值Primary!、Delete!、Filter!分別代表主緩沖區(qū)、刪除緩沖區(qū)和過濾緩沖區(qū)。originalvalue為Boolean型,表示是否讀取最近一次檢索時檢索到的初始值,當(dāng)指定dwbuffer時必須指定該參數(shù),該參數(shù)和dwbuffer都是可選的。函數(shù)正確執(zhí)行則返回對應(yīng)類型的數(shù)據(jù),執(zhí)行過程中發(fā)生錯誤則返回空值(“”),任何參數(shù)為Null則返回Null?! ±?,在一個有性別字段的用于顯示數(shù)據(jù)的數(shù)據(jù)窗口中,當(dāng)

4、檢索完畢后將1都替換成“男”,將0都替換成“女”,這樣的顯示更好一些??梢栽跀?shù)據(jù)窗口的RetrieveEnd事件中編寫如下腳本:  longll_rowno  stringls_sex  Ifrowcount<=0Thenreturn//如果沒有數(shù)據(jù)則直接返回  Forll_rowno=1Torowcount//逐條進(jìn)行處理   ls_sex=Trim(This.GetItemString(ll_rowno,"sex"))//讀取字段sex并去掉兩端空格   Ifls_sex="1"Then//如果是

5、“男”    dw_1.SetItem(ll_rowno,"sex","男")   Elseifls_sex="0"Then//如果是"女"    dw_1.SetItem(ll_rowno,"sex","女")   EndIf  Next  上述例程僅僅是為了說明GetItemX函數(shù),沒有太大的實際用途。因為有很多手段可以實現(xiàn)該漢字界面的構(gòu)造。使用GetItemX類型的6個函數(shù)可以讀取數(shù)據(jù)窗口的數(shù)據(jù),但是在使用這些函數(shù)前必須首先知道字段的類型。另外,如果字段的類型和函數(shù)要讀取的類型不兼容,例如,使用

6、函數(shù)GetItemString讀取Date類型字段中的內(nèi)容,這樣的錯誤在腳本編譯時不會被檢查出來。有沒有解決這個問題的方法呢?  PowerBuilder中提供了any類型的變量,可以接受任何類型的數(shù)據(jù),可以使用該變量來解決這個問題。為保證所有需要讀取數(shù)據(jù)的數(shù)據(jù)窗口中都可以讀取任意類型的字段,可以編寫一個通用的函數(shù)。讀取數(shù)據(jù)時不再使用GetItemX函數(shù),而是使用數(shù)據(jù)窗口對象屬性直接引用。下面的自定義函數(shù)使用any類型的變量,來保存讀取到的字段的數(shù)據(jù),然后返回該any類型的數(shù)據(jù),獲取該返回值時,只要使

7、用相應(yīng)的類型轉(zhuǎn)換函數(shù)即可。例如,要讀取字段name中的數(shù)據(jù),可以使用如下格式調(diào)用:  Stringls_name  Ls_name=String(GetItemAny(dw_1,1,"name")  函數(shù)GetItemAny如下:  /***************************************************************  *funtionGetItemAny(datawindowids_ds,longal_row,stringas_Column)  *參數(shù):d

8、atawindowids_dsbyvalue  *   longal_rowbyvalue  *   stringas_Columnbyvalue  *返回值類型:any  *功能:讀取指定數(shù)據(jù)窗口ids_ds中第al_row行中字段as_column中的值  ****************************************************************/  Longll_Col  Anyla_A  IFal_Row>i

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。