版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、勞動信息管理分析論文摘要:本文介紹了用POWERBUILDER6.0(以下簡稱PB6)和ORACLE8開發(fā)“勞動信息管理系統(tǒng)”(以下簡稱“系統(tǒng)”)的方法和解決的技術(shù)性問題,并介紹一些開發(fā)經(jīng)驗。 主題詞:PB6ORACLE8勞動信息方法技術(shù) 1前言 “勞動信息管理系統(tǒng)”一般情況下都做成數(shù)字表格、文字描述、圖形顯示等形式。“數(shù)字表格”即具體的人員、工資數(shù)據(jù)的結(jié)構(gòu)化描述;“文字描述”即用一段文字敘述或補充說明情況等;這里的“圖”包括兩類,即照片圖(例如BMP位圖等)和動態(tài)生成的指標描述圖(如折線圖等)。筆者在選擇開發(fā)工具和數(shù)據(jù)庫方面,經(jīng)過詳細調(diào)研后,覺得用PB6和ORACLE8最為合適,現(xiàn)將開發(fā)和應(yīng)
2、用中的一些體會總結(jié)成文,供讀者參考。 2系統(tǒng)的運行環(huán)境 本系統(tǒng)在CLIENT/SERVER結(jié)構(gòu)上運行,SERVER平臺為UNIX,裝有ORACLE8數(shù)據(jù)庫。CLIENT端通過HUB、ROUTER與SERVER連接,CLIENT端的開發(fā)、運行平臺是WIN95/98/2000,前端開發(fā)工具為PB6,總體網(wǎng)絡(luò)協(xié)議為TCP/IP。 3系統(tǒng)功能介紹 該系統(tǒng)包括勞動管理信息的維護和查詢兩部分,內(nèi)容充實,立足于應(yīng)用。表、文、圖具全,對比圖形由數(shù)據(jù)自動生成。同類型的數(shù)據(jù)查詢采用了窗口繼承的開發(fā)方法和動態(tài)數(shù)據(jù)窗口,查詢界面統(tǒng)一、清晰。文字部分存入ORACLE庫的LONG字段中,用MLE(多行編輯器)作為輸入、輸
3、出的中間編輯、查詢界面。一些原始資料,如照片、背景圖等做成了BMP圖片,以BLOB數(shù)據(jù)方式存入ORACLE庫中,或存至NFS(網(wǎng)絡(luò)文件系統(tǒng))的“虛”盤上,查詢時調(diào)入圖形框(如P_1)內(nèi)。 4技術(shù)難點及解決的方法 41字符集的選擇 如果字符集選擇錯誤,會出現(xiàn)漢字顯示成亂字符的現(xiàn)象,需要從注冊表中選擇正確的字符集,具體方法是:在WIN95/98/2000下運行注冊表編輯程序regedit.exe,選擇HKEY_LOCAL_MACHINE,再選擇SOFTWARE,再選擇ORACLE,然后選擇NLS_LANG(語言的國際支持),鍵入和服務(wù)器端相同的字符集。例如服務(wù)器端的字符集為AMERICAN_AME
4、RICAN.US7ASCII,在此也輸入此項就行了。 42PB6和ORACLE8的連接 PB6和ORACLE8的連接是一項很重要的內(nèi)容,很多導(dǎo)致調(diào)用數(shù)據(jù)庫失敗的原因就出于此,根據(jù)不同的用戶需求和硬件環(huán)境,可靈活選擇客戶端的接口軟件,下面舉例子來說明連接方法: 42.1/通過NET8連接數(shù)據(jù)庫,支持32位的數(shù)據(jù)訪問,安裝ORACLE8的NET8軟件 /目前PB6支持到ORACLE7.3,但是也支持ORACLE8,所以設(shè)置如下 SQLCA.DBMS=“o73”/要訪問的ORACLE用戶名 SQLCA.LogID=“l(fā)z” SQLCA.LogPass=“l(fā)zpwd” SQLCA.UserID=“l(fā)z
5、” /通過SQL*NETV2和ORACLE庫連接 SQLCA.ServerName=“net80” Connectusingsqlca; 42.2/通過SQL*NETV2連接,可支持16位的數(shù)據(jù)訪問,客戶端可選擇ORACLECDE的SQL*NETV2 SQLCA.DBMS=“o71” /要訪問的ORACLE用戶名 SQLCA.LogID=“l(fā)z” SQLCA.LogPass=“l(fā)zpwd” SQLCA.UserID=“l(fā)z” /通過SQL*NETV2和ORACLE庫連接 SQLCA.ServerName=“snv2” Connectusingsqlca; 以上的Script語句描述了和SERV
6、ER的連接過程,也可以將上述Script語句存入文件(如pb.ini)中,通過調(diào)用文件和數(shù)據(jù)庫做連接。 若PB6和ORACLE8連接不通,可查一下C:AUTOEXEC.BAT里邊的路徑是否包含c:orawin95bin(或相應(yīng)的路徑),如果沒有此路徑說明,PB6和ORACLE8不能連通。 43文字類數(shù)據(jù)(文本)的入庫和查詢 文本入庫和查詢可采用PB6的MLE(多行編輯器)作界面,編輯完成后存入ORACLE8的LONG字段中,查詢時從LONG字段中取出,放入MLE中查詢,下邊是一個例子: /文本的預(yù)處理(以去除文本文件中的回車換行符為例說明) /將文件讀入BLOB型變量text中fn=fileo
7、pen(txtname,streammode!) iffn-1then fileread(fn,text) fileclose(fn) /將讀入的數(shù)據(jù)流組合成字符串 article=string(text) s=len(article) forv=1tos t=pos(article,char(13)+char(10),v) ift0then article=replace(article,t,2,”“) else endif next mle_1.text=article /將處理后的文件c:ldxx.txt存盤,文件中的回車換行符已全部去掉 text1=blob(article) filn
8、ame=“c:ldxx.txt” fn=fileopen(filname,streammode!,write!,lockwrite!,replace!) iffn-1then filewrite(fn,text1) fileclose(fn) endif /文本入庫 bigtext1=blob(mle_1.text) updateblobldxxwjsetbigtext=:bigtext1wherebh=:varbhandrq=:varrqusingsqlca; commit; /從庫中提出放入MLE中查詢 selectblobbigtextinto:bigtext1fromldxxwjwhe
9、rebh=:varbhrq=:varrqusingsqlca; mle_1.text=blob(bigtext1) /從庫中重新生成文本文件filename.txt并存盤 selectbigtextinto:varfilefromldxxwjwherebh=:varbhandrq=:varrqusingsqlca; fname=“c:filename.txt” fh=fileopen(fname,streammode!,write!,lockwrite!,replace!) iffh-1then filewrite(fh,filen) fileclose(fh) endif 44處理圖象文件(
10、大的二進制文件) 職工照片-圖象文件(例如BMP位圖文件)是二進制文件,將其以數(shù)據(jù)流方式存入ORACLE8的LONG字段中,查詢時從LONG字段中取出,放入圖象框(如p_1)中查詢,下邊是一個例子: /將圖象文件讀入BLOB型變量pict中 fn=fileopen(picname,streammode!) iffn-1then fileread(fn,pict) fileclose(fn) /將圖象放入圖象框p_1內(nèi)查看 setpicture(p_1,pict) endif /將圖象存入表pic的LONG字段bmpt中 updateblobpicsetbmpt=:pict; commit; 4
11、5使用動態(tài)數(shù)據(jù)窗口 動態(tài)數(shù)據(jù)窗口指的是在程序的運行過程中通過SQL語句的改變動態(tài)地創(chuàng)建、修改數(shù)據(jù)窗口的內(nèi)容和表現(xiàn)形式,它多用在對同類型的對象的描述過程中,“勞動信息查詢系統(tǒng)”的一些類似的內(nèi)容可用動態(tài)數(shù)據(jù)窗口來編制,表現(xiàn)形式一致、構(gòu)造界面統(tǒng)一、編程效率高,當(dāng)然還有其它一些優(yōu)點。下邊是一個創(chuàng)建動態(tài)數(shù)據(jù)窗口并由此繪出趨勢圖的例子(動態(tài)數(shù)據(jù)窗口dw_1,圖形框gr_1): dw_1.Create(SyntaxFromSQL(SQLCA,”SELECTsj,val01FROMtab01whereytmh=“+rowcha+”O(jiān)RDERBYsj”,”style=(type=grid)”,err) /執(zhí)行上
12、述語句會動態(tài)地產(chǎn)生類型為grid的數(shù)據(jù)窗口dw_1。 /由下邊這段程序做出趨勢圖: /將數(shù)據(jù)調(diào)入數(shù)據(jù)窗口 dw_1.SetTransObject(sqlca) dw_1.Retrieve() rows=rowcount(dw_1) ifrows0then gr_1.SetRedraw(False) gr_1.reset(all!) gr_1.addseries(“dz1”) fori=1torows xis=mid(getitemstring(dw_1,i,1),3,2) yis=getitemnumber(dw_1,i,2) ifisnull(yis)then yis=0 endif gr_1.adddata(1,yis,xis) next gr_1.SetRedraw(True) sum=sum+sum1 st_1.text=string(sum) endif /圖的類型可根據(jù)不同需要隨意選擇,如選擇餅圖、柱狀、折線圖等。 46變量的定義和賦值要正確 一些整型數(shù)值盡量不要定義成INT類型,因為一旦超過32767就會出錯,一定要定義成LONG類型;帶小數(shù)的數(shù)據(jù)變量要定義成DOUBLE型,若定義成LONG類型,會自動設(shè)去小數(shù)部分,出現(xiàn)精度錯誤。 PB6中的日期類變量賦值方式比較固
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年單位集體用餐協(xié)議模板解析
- 2024年機票代理購買協(xié)議范本
- 2024防火安全門供應(yīng)安裝協(xié)議
- 2024年建筑項目保險協(xié)議范例全書
- DB11∕T 1725-2020 蔬菜病蟲害全程綠色防控技術(shù)規(guī)程
- 2024年上海勞務(wù)派遣協(xié)議格式
- 2024年度牛肉購銷協(xié)議范本
- 2024年汽車托管租賃模板協(xié)議
- 2024年道路施工合作協(xié)議范本
- 文書模板-《住房換瓦協(xié)議書》
- 動物園服務(wù)方案
- nutric評分方法及意義
- 供水巡查管理制度
- 醫(yī)院培訓(xùn)課件:《醫(yī)務(wù)人員職業(yè)暴露與防護》
- 品牌策劃推廣部組織架構(gòu)方案
- 留置針非計劃性拔管原因分析品管圈魚骨圖柏拉圖
- 安全生產(chǎn)目標責(zé)任制考核表
- 中小學(xué)教師職稱評定英語全英答辯題
- 大屏幕顯示器安裝及調(diào)試方案
- 水穩(wěn)料開盤鑒定模板道客巴巴
- 湖南特色美食文化介紹推介PPT圖文課件
評論
0/150
提交評論