- 相關(guān)推薦
Powerbuilder6.5應(yīng)用實(shí)例
Powerbuilder6.5是美國(guó)著名的Powersoft公司推出的廣泛使用于客戶機(jī)/服務(wù)器體系結(jié)構(gòu)下的應(yīng)用程序開(kāi)發(fā)工具,具有完整的Web應(yīng)用開(kāi)發(fā)功能。它同時(shí)支持多種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),通過(guò)微軟公司的ODBC接口和專用的大型數(shù)據(jù)庫(kù)接口,能夠高速讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
本實(shí)例就是以Powerbuilder6.5開(kāi)發(fā)一個(gè)基于WWW環(huán)境的勞資人事管理系統(tǒng),應(yīng)用動(dòng)態(tài)服務(wù)器頁(yè)面實(shí)現(xiàn)了勞資人事的多條件查詢、刪除、更新、打印、密碼設(shè)置等功能。,服務(wù)器端的操作系統(tǒng)為Windows NT 4.0,客戶端操作系統(tǒng)為Windows 98。
勞資人事管理是公司企業(yè)內(nèi)部很重要的一個(gè)管理事項(xiàng),但目前大多公司內(nèi)部勞資人事的管理,基本上是手工操作或是基于dos下的應(yīng)用,這樣對(duì)信息的管理者有諸多不便,有的雖然是用foxpro、visual foxpro開(kāi)發(fā),但由于開(kāi)發(fā)工具本身的限制,對(duì)網(wǎng)絡(luò)功能的支持程度不是很強(qiáng),為以后軟件升級(jí)到互聯(lián)網(wǎng)帶來(lái)了麻煩。因此有必 要開(kāi)發(fā)一個(gè)基于網(wǎng)絡(luò)的勞資人事管理系統(tǒng),能在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)數(shù)據(jù)的錄入、插入、刪除、查詢、統(tǒng)計(jì)、更新、打印等功能。同時(shí),為了信息的保密與安全,系統(tǒng)還要提供一定的安全機(jī)制。
系統(tǒng)功能的分析及規(guī)劃
(1)系統(tǒng)功能的分析
公司內(nèi)部的勞資人事的管理,從大的方面分主要集中在公司職員的個(gè)人情況、工資細(xì)目、調(diào)入調(diào)出及用車等。所以該系統(tǒng)主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)的錄入、插入、
刪除、網(wǎng)上查詢、統(tǒng)計(jì)、更新、打印等功能。其次,為了信息的保密與安全,系統(tǒng)還要提供一定的安全機(jī)制。
(2)系統(tǒng)功能的規(guī)劃
根據(jù)以上系統(tǒng)功能的分析,本系統(tǒng)決定采用MDI風(fēng)格,它主要分為以下幾個(gè)模塊,其中勞資人事管理系統(tǒng)的父窗口的功能結(jié)構(gòu)如下:
文件模塊:此模塊實(shí)現(xiàn)本系統(tǒng)對(duì)數(shù)據(jù)的打開(kāi)、保存、打印預(yù)覽、打印及用戶管理等功能,并可由此退出系統(tǒng)。
信息管理模塊:此模塊實(shí)現(xiàn)系統(tǒng)的信息管理,包括對(duì)職工情況一覽表、職工調(diào)入調(diào)出情況表、職工工資表及其它各表的信息數(shù)據(jù)的插入、刪除、修改、保存等功能。
查詢模塊:此模塊實(shí)現(xiàn)本系統(tǒng)的查詢功能,能將個(gè)人的基本情況、調(diào)入調(diào)出情況、工資情況等檢索出來(lái),并可實(shí)現(xiàn)多條件查詢和模糊查詢。
統(tǒng)計(jì)模塊:此模塊用于對(duì)數(shù)據(jù)庫(kù)中的信息數(shù)據(jù)按照一定的規(guī)則進(jìn)行統(tǒng)計(jì)。
系統(tǒng)服務(wù)模塊:此模塊用來(lái)系統(tǒng)管理人員設(shè)密碼和對(duì)系統(tǒng)的功能和開(kāi)發(fā)信息進(jìn)行介紹等。
根據(jù)用戶要求設(shè)計(jì)數(shù)據(jù)表
數(shù)據(jù)表的建立是應(yīng)用程序開(kāi)發(fā)過(guò)程中的非常重要的一個(gè)環(huán)節(jié),必須清楚每一模塊要操縱的數(shù)據(jù)是那些,以及數(shù)據(jù)間的相互關(guān)系,然后建立數(shù)據(jù)表。勞資人事管理系統(tǒng)要求能對(duì)職工的個(gè)人情況、調(diào)入調(diào)出情況、工資情況等進(jìn)行管理,在職工個(gè)人情況表下面,還有象維護(hù)職務(wù)表,維護(hù)學(xué)歷表等等。同時(shí)還要對(duì)系統(tǒng)設(shè)置安全機(jī)制,為實(shí)現(xiàn)以上要求,下面僅以人事、工資、密碼表為例介紹一下各表的結(jié)構(gòu):
職工情況一覽表,它包括職工標(biāo)號(hào)、姓名、性別、政治面貌等信息。其結(jié)構(gòu)如下:
code char(4) not null, //職工編碼
name char(8) null, //姓名
sex char(2) null, //性別
politics char(8) null, //政治面貌
birthday data null, //出生日期
work_time data null, //參加工作時(shí)間
post_zhw char(10) null, //職務(wù)
address char(30) null, //家庭住址
該表主鍵為職工編號(hào)(code)。
職工工資表,其結(jié)構(gòu)主要包括職工所得的各種工資福利等。
Code char(4) not null, //職工編號(hào)
Name char(8) null, //姓名
g_pay integer null, //崗位工資
j_pay integer null, //技能工資
w_pay integer null, //物價(jià)補(bǔ)
s_pay integer null, //書(shū)報(bào)費(fèi)
ws_pay integer null, //衛(wèi)生費(fèi)
xh_pay integer null, //小孩補(bǔ)貼
a_pay integer null, //工齡工資
ht_pay numeric(6,2) null, //合同補(bǔ)貼
jj_pay numeric(8,2) null, //獎(jiǎng)金
total_pay numeric(8,2) null, //工資總額
該表主鍵為職工編號(hào)code。
系統(tǒng)密碼表
user_name char(10) not null, //用戶名稱
user_word char(10) not null, //用戶密碼
user_qx char(2) not null, //用戶權(quán)限
系統(tǒng)的網(wǎng)絡(luò)實(shí)現(xiàn)
由于Powerbuilder具有完整的web應(yīng)用開(kāi)發(fā)功能,由它編制的軟件可以方便的同服務(wù)器端的數(shù)據(jù)庫(kù)協(xié)同工作,構(gòu)成Client/Server工作方式,它使用的是業(yè)界熟悉的Web標(biāo)準(zhǔn)(HTML和Java),通過(guò)端對(duì)對(duì)的設(shè)計(jì)、調(diào)試和提交,可以控制Web應(yīng)用的整個(gè)生命周期。本系統(tǒng)客戶應(yīng)用和服務(wù)器應(yīng)用都采用Powerbuilder開(kāi)發(fā)。其中服務(wù)器端的程序是實(shí)現(xiàn)中的重點(diǎn)部分,其內(nèi)容主要是生成SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)操作及對(duì)所得的數(shù)據(jù)進(jìn)行處理。它主要分為監(jiān)聽(tīng)客戶連接、處理客戶請(qǐng)求、避免死鎖、向客戶推送消息等。
關(guān)鍵問(wèn)題的解決
安全機(jī)制問(wèn)題
在進(jìn)入系統(tǒng)之前,要進(jìn)行身份確認(rèn),只有用戶名和用戶密碼都相符的用戶方可進(jìn)入本系統(tǒng)。為了防止不合法用戶對(duì)數(shù)據(jù)的察看和修改,本系統(tǒng)把用戶分為三個(gè)級(jí)別:超級(jí)、可修改和只讀用戶,即一二三級(jí)用戶。超級(jí)(一級(jí))用戶不僅擁有對(duì)數(shù)據(jù)的查詢、修改權(quán)限,還對(duì)用戶的使用權(quán)限進(jìn)行控制,可以設(shè)定用戶名、密碼和 其權(quán)限,還可以對(duì)紀(jì)錄進(jìn)行增加、刪除、修改等操作?尚薷模ǘ(jí))用戶對(duì)數(shù)據(jù)可以查詢、打印,還可以對(duì)紀(jì)錄進(jìn)行增加、刪除、修改等操作。只讀(三級(jí))用戶只擁有對(duì)紀(jì)錄的瀏覽、查詢和打印權(quán)限。當(dāng)用戶要進(jìn)入系統(tǒng)是必須先輸入用戶名和密碼,按"確認(rèn)"按鈕后,系統(tǒng)辨別用戶身份,對(duì)合法用戶根據(jù)用戶的權(quán)限級(jí)別 賦予相應(yīng)的使用功能。
對(duì)任一數(shù)據(jù)列進(jìn)行排序的問(wèn)題。
熟悉Windows的用戶一定對(duì)資源管理器不陌生,當(dāng)目錄或文件很多時(shí),當(dāng)然會(huì)想到使用排序來(lái)盡快定位目標(biāo),你只要用鼠標(biāo)在資源管理器上端的name、size、type或modified中的任意一項(xiàng)點(diǎn)擊,它就會(huì)將此項(xiàng)按升序或降序排列。同樣地,在PowerBuilder中,如果數(shù)據(jù)比較多,我們也可以采用這種辦法來(lái)排序以盡快查找記錄。
本系統(tǒng)以窗口w_rsh為例,要實(shí)現(xiàn)這樣的排序功能,首先定義兩個(gè)實(shí)例變量String pre_col=""和Intclick_time=0,它們分別記錄上次點(diǎn)擊的列和點(diǎn)擊同一列的奇偶數(shù)。然后在dw_1的Clicked事件中添加如下腳本:
String clicked_pos,col,format
Long il_pos
clicked_pos = dwo.Name //取點(diǎn)擊的對(duì)象
il_pos = Pos(clicked_pos,'_t') //對(duì)于列標(biāo)題,
//取得的對(duì)象是列名+"_t"
If il_pos >0 Then
col = Left(clicked_pos,il_pos -1)
If col=pre_col Then
If click_time=0 Then
click_time = 1
format = col+" A"
Else
click_time=0
format = col+" D"
End If
Else
click_time = 0
format = col+" A"
End If
pre_col = col
dw_1.SetSort(format)
dw_1.Sort()
End If
采用上面的方法可實(shí)現(xiàn)象Windows中資源管理器靈活排序的功能,從而使所要瀏覽的數(shù)據(jù)更加一目了然。
數(shù)據(jù)窗口控件的編輯風(fēng)格的使用
本系統(tǒng)對(duì)日期型、需漸變量等數(shù)據(jù)的輸入采用了編輯掩碼控件editmask,這樣就可以大大方便用戶的操作。對(duì)于象性別這樣只有男、女兩個(gè)值的,則采用單選鈕radiobutton形式,用戶在錄入時(shí)只需要鼠標(biāo)點(diǎn)擊選鈕即可。在設(shè)置條件時(shí)的值段名和有固定職供用戶選擇的數(shù)據(jù)使用了下拉列表框(droplistbox),用戶只需選擇所要輸入的值即可。
至此,本實(shí)例講解完畢,歡迎交流討論,如有本方面的需求可以聯(lián)系作者。
【Powerbuilder6.5應(yīng)用實(shí)例】相關(guān)文章:
實(shí)例教學(xué)法在高中化學(xué)教學(xué)中的應(yīng)用08-23
觸摸屏在S3C2410上的應(yīng)用實(shí)例08-06
媒體信號(hào)處理器MAP-CA及其應(yīng)用實(shí)例08-06
行為治療方法在祖輩教育家庭中的應(yīng)用實(shí)例08-15
組網(wǎng)實(shí)例08-12
履歷的實(shí)例08-15
《賽馬》教學(xué)實(shí)例08-07
基于熱敏打印機(jī)的心電圖形快速打印方法的研究及應(yīng)用實(shí)例08-06
多屏卡編程實(shí)例08-06