淺談PB使用心得(一)(原創(chuàng))
2024-07-21 02:09:58
供稿:網(wǎng)友
淺談pb使用心得(一)(原創(chuàng))
作者:balloonman2002 2004年6月26日
本文擬結(jié)合powerbuilder語(yǔ)言,淺談自己使用pb開(kāi)發(fā)過(guò)程中的一些心得,這些算不上巧妙方法,重點(diǎn)側(cè)重一些基礎(chǔ)性知識(shí)和易忽視點(diǎn)歸納整理:
一、如何用好pb幫助
很多新學(xué)pb的朋友總是希望能夠找到好的pb教程,其實(shí)我覺(jué)得pb自帶的pb幫助就是最好的在線pb教程,它系統(tǒng)、全面的涵蓋了pb從變量聲明、語(yǔ)句編寫(xiě)、各類(lèi)函數(shù)、各類(lèi)對(duì)象、內(nèi)置控件、dwo詳解、數(shù)據(jù)接口到pfc深層應(yīng)用的各個(gè)方面,不僅分類(lèi)清晰,而且說(shuō)明到位、用例典型。另外,本身的索引功能也非常詳實(shí),唯一不足的就是無(wú)法象msdn一樣可以全文檢索。但這絲毫不會(huì)影響其作為最經(jīng)典的pb教程的事實(shí),我個(gè)人強(qiáng)烈建議新學(xué)pb的朋友能夠從頭開(kāi)始好好了解一下pb幫助,:),本文中所描述的內(nèi)容也只是將pb幫助中的一些零散知識(shí)整理起來(lái),詳細(xì)的資料可以進(jìn)一步查閱相關(guān)幫助內(nèi)容。
此外,pb自帶的dwsyntax、code examples也是非常好的案頭工具。
二、如何動(dòng)態(tài)修改datawindow object的數(shù)據(jù)源
(一)通過(guò)getsqlselect、setsqlselect函數(shù)實(shí)現(xiàn)
dwcontrol.getsqlselect ( )
dwcontrol.setsqlselect ( statement )
說(shuō)明:這種情況下要求新舊select出來(lái)的結(jié)果列要求一致,并且select語(yǔ)句不能有retrieve arguments。
(二)通過(guò)dw_control.object.datawindow.table.select屬性實(shí)現(xiàn)
sqlvar = 'select ... where ...'
dw_1.modify("datawindow.table.select='" + sqlvar + "'")
說(shuō)明:這種情況下可以使用retrieve arguments,但必須要求只能使用原來(lái)已定義的arguments。
(三)通過(guò)create函數(shù)重構(gòu)datawindow來(lái)實(shí)現(xiàn)
dwcontrol.create ( syntax {, errorbuffer } )
這其中的syntax語(yǔ)法可以通過(guò)以下四種方式獲?。?br>
1、setting = dw_1.object.datawindow.syntax
setting = dw_1.describe("datawindow.syntax")
2、libraryexport ( libraryname, objectname, objecttype )
3、transaction.syntaxfromsql ( sqlselect, presentation, err )
4、自己組合拼裝syntax,但這種要求開(kāi)發(fā)者非常熟悉dwo對(duì)象語(yǔ)法
(四)通過(guò)setfilter函數(shù)過(guò)濾部分?jǐn)?shù)據(jù)來(lái)實(shí)現(xiàn)
dwcontrol.setfilter ( format )
這種方法其實(shí)是一種間接達(dá)到目的的方法。
(五)通過(guò)處理sqlpreview事件來(lái)實(shí)現(xiàn)
這種方法也是一種間接達(dá)到目的的方法,它通過(guò)改變sqlpreview事件中的sqlsyntax參數(shù)來(lái)實(shí)現(xiàn)修改數(shù)據(jù)源。
三、常見(jiàn)錯(cuò)誤處理檢測(cè)方法
(一)對(duì)于因sql語(yǔ)句操作引起的錯(cuò)誤,通常借助:sqlca.sqlcode或indicator variables來(lái)檢測(cè):
sqlca.sqlcode:
value meaning
0 success
100 fetched row not found
-1 error; the statement failed. use sqlerrtext or sqldbcode to obtain the detail.
indicator variables:
0 valid, non-null value
-1 null value
-2 conversion error
(二)對(duì)于其他系統(tǒng)錯(cuò)誤,需要處理error、dberror、itemerror、systemerror等事件,如果是pb9可以借助:try...catch...finally...end try語(yǔ)句
………
本文未完待續(xù)
………
如需要進(jìn)一步資料,請(qǐng)聯(lián)系qq:27855043,msn:[email protected]
如有不當(dāng)之處,敬盼您的指點(diǎn)。