PB開發Sybase數據庫應用技巧點滴

PB開發Sybase數據庫應用技巧點滴


段秀華
01-4-28 上午 10:45:40


PowerBuilder(PB)是一種跨平臺的且功能強大、性能優異的開發工具。在客戶端/服務器系統結構的應用模式中,作爲客戶端的一種面向對象的可視化設計工具,在與數據庫相連接操作的系統中得到較爲廣泛的應用。筆者在使用PB開發Sybase數據庫應用,建立企業管理信息系統的過程中,積累了一點經驗和技巧,現將其中的一部分在此做點介紹,或許能夠對朋友們有點啓發和幫助。
一、PowerBuilder與Sybase SQL Server的連接
若在連接時出現問題,必須要冷靜多思考。首先要檢查客戶端的情況,確認Open Client已經安裝,並正確配置。要注意OPen Client必須與PowerBuilder同爲32位,或同爲16位。
PB與Sybase連不上,常見的幾種錯誤現象及處理方法說明如下:
1.已連接上Sybase數據庫,但在PB的數據庫(database)畫板中卻看不到用戶已經定義過的表。
此時可打開isql或Sybase Advantage,用"sa"登錄到"master"數據庫,執行pbsyc.sql腳本文件(該文件位於PB安裝盤的server目錄)即可。值得一提的是,對Sybase Adaptive Server的版本號要加以注意,根據資料對有的相關項進行點改動。
2.在打開PB的項目畫板(Project)或庫畫板(Library)時,出現錯誤信息提示:"cannot locate source management dll"。
這個問題是因爲在安裝PB時,選擇了安裝版本控制軟件(如PVCS)的接口,實際上該用戶的機器上並未安裝相應的版本控制軟件。
解決方法: 在PB的設置中,將版本控制軟件的接口去掉,具體操作步驟是,可在PB.ini文件中,找到[Library]節,將"SourceVendor= ..."這一行註釋去掉。
3.數據庫連接正常,但打開用戶表時若該表中有漢字則出現亂碼。
這個問題通常是由於客戶端的缺省字符集設置和服務器端的字符集設置不一致,應修改locales.dat文件(該文件位於Sybase安裝目錄的locales子目錄下)。如果在Windows95/98操作系統下,可修改[NT]節下的相關內容;若操作系統平臺是Windows3.x,則修改[win3]節下的內容。在此節有一行文本爲locale=default,us_english,is0_1,則說明客戶端的缺省字符集設爲iso_1。開發中文管理信息系統一般建議將字符集改爲cp85o,在服務器端必須要做相應的調整。
二、PB編程的幾點技巧
1.在數據窗口(Datawindow)中實現數據列自動折行。
PB軟件在市場上受用戶歡迎的原因之一,就是它的數據窗口功能很強,而且方便應用。
在使用Datawindow時,常會遇到某列的數據太長,不能同時顯示全部的情況。若採用自動水平滾動,操作起來又不夠簡便。有一種方法能實現列數據多行顯示(自動折行)。具體步驟如下:
①.在Datawindow Panter中打開此DataWindow,在需設定自動折行的列上雙擊鼠標,彈開此列的屬性窗口。點Position標籤,選中Autosize Heigh多選框; 再選擇Edit標籤, 不選中Auto HorzScroll多選框;單擊OK按鈕,保存所做的修改。
②.點中Detail Band(即寫有Detail的灰色長帶),單擊鼠標右鍵,選擇Properties...菜單項,選中Autosize Height多選框,單擊OK按鈕,保存所做的修改。
2.在數據窗口(Datawindow)中用Enter鍵代替Tab鍵在字段間移動。
其基本做法是: 選中該數據窗口,定義一用戶事件,在彈出的用戶事件定義窗口中,將Event ID與pbm_dwnprocessenter 相關聯,在該事件的腳本中增加下面兩行語句:
Send(Handle(this),256,9 Long(0,0)) (向系統發出處理TAB鍵的消息)
return 1 (忽略Enter鍵接下來應進行的缺省處理)
3.選用Grid數據窗口方式時避免表頭上方也出現表格線。
用Grid數據窗口方式能夠實現表格式報表輸出,但是如在表頭上方不加以控制或處理,它將出現Detail Band中各數據列的表格線,這是我們所不需要的。解決問題的參考方法是:
①.可在Header Band中的表頭上方增加一文本框,讓該文本框足夠寬且能覆蓋所有的數據列, 同時將垂直長度調整Header Band中的表頭上部平齊。
②.在文本框的Properties...窗口中,將該文本框的顯示內容清爲空,在Font標籤頁中將字體的背景顏色(Background)設置爲與數據窗口的背景色相同,並在Position標籤頁中將其Layer(層次)修改爲Foreound,單擊OK按鈕,馬上就能看出效果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章