<wbr id="ede8e"></wbr><bdo id="ede8e"><var id="ede8e"><optgroup id="ede8e"></optgroup></var></bdo>
    1. <sub id="ede8e"></sub>
    2. <sub id="ede8e"></sub>
    3. 18禁无遮挡啪啪无码网站,真人无码作爱免费视频,2018年亚洲欧美在线v,国产成人午夜一区二区三区 ,亚洲精品毛片一区二区,国产在线亚州精品内射,精品无码国产污污污免费,国内少妇人妻偷人精品
      首頁 > 文章中心 > 正文

      勞動信息管理

      前言:本站為你精心整理了勞動信息管理范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

      勞動信息管理

      摘要:本文介紹了用POWERBUILDER6.0(以下簡稱PB6)和ORACLE8開發“勞動信息管理系統”(以下簡稱“系統”)的方法和解決的技術性問題,并介紹一些開發經驗。

      主題詞:PB6ORACLE8勞動信息方法技術

      1前言

      “勞動信息管理系統”一般情況下都做成數字表格、文字描述、圖形顯示等形式。“數字表格”即具體的人員、工資數據的結構化描述;“文字描述”即用一段文字敘述或補充說明情況等;這里的“圖”包括兩類,即照片圖(例如BMP位圖等)和動態生成的指標描述圖(如折線圖等)。筆者在選擇開發工具和數據庫方面,經過詳細調研后,覺得用PB6和ORACLE8最為合適,現將開發和應用中的一些體會總結成文,供讀者參考。

      2系統的運行環境

      本系統在CLIENT/SERVER結構上運行,SERVER平臺為UNIX,裝有ORACLE8數據庫。CLIENT端通過HUB、ROUTER與SERVER連接,CLIENT端的開發、運行平臺是WIN95/98/2000,前端開發工具為PB6,總體網絡協議為TCP/IP。

      3系統功能介紹

      該系統包括勞動管理信息的維護和查詢兩部分,內容充實,立足于應用。表、文、圖具全,對比圖形由數據自動生成。同類型的數據查詢采用了窗口繼承的開發方法和動態數據窗口,查詢界面統一、清晰。文字部分存入ORACLE庫的LONG字段中,用MLE(多行編輯器)作為輸入、輸出的中間編輯、查詢界面。一些原始資料,如照片、背景圖等做成了BMP圖片,以BLOB數據方式存入ORACLE庫中,或存至NFS(網絡文件系統)的“虛”盤上,查詢時調入圖形框(如P_1)內。

      4技術難點及解決的方法

      4.1字符集的選擇

      如果字符集選擇錯誤,會出現漢字顯示成亂字符的現象,需要從注冊表中選擇正確的字符集,具體方法是:在WIN95/98/2000下運行注冊表編輯程序regedit.exe,選擇HKEY_LOCAL_MACHINE,再選擇SOFTWARE,再選擇ORACLE,然后選擇NLS_LANG(語言的國際支持),鍵入和服務器端相同的字符集。例如服務器端的字符集為AMERICAN_AMERICAN.US7ASCII,在此也輸入此項就行了。

      4.2PB6和ORACLE8的連接

      PB6和ORACLE8的連接是一項很重要的內容,很多導致調用數據庫失敗的原因就出于此,根據不同的用戶需求和硬件環境,可靈活選擇客戶端的接口軟件,下面舉例子來說明連接方法:

      4.2.1//通過NET8連接數據庫,支持32位的數據訪問,安裝ORACLE8的NET8軟件

      //目前PB6支持到ORACLE7.3,但是也支持ORACLE8,所以設置如下

      SQLCA.DBMS="o73"

      //要訪問的ORACLE用戶名

      SQLCA.LogID="lz"

      SQLCA.LogPass="lzpwd"

      SQLCA.UserID="lz"

      //通過SQL*NETV2和ORACLE庫連接

      SQLCA.ServerName="@net80"

      Connectusingsqlca;

      4.2.2//通過SQL*NETV2連接,可支持16位的數據訪問,客戶端可選擇ORACLECDE的SQL*NETV2

      SQLCA.DBMS="o71"

      //要訪問的ORACLE用戶名

      SQLCA.LogID="lz"

      SQLCA.LogPass="lzpwd"

      SQLCA.UserID="lz"

      //通過SQL*NETV2和ORACLE庫連接

      SQLCA.ServerName="@snv2"

      Connectusingsqlca;

      以上的Script語句描述了和SERVER的連接過程,也可以將上述Script語句存入文件(如pb.ini)中,通過調用文件和數據庫做連接。

      若PB6和ORACLE8連接不通,可查一下C:\AUTOEXEC.BAT里邊的路徑是否包含c:\orawin95\bin(或相應的路徑),如果沒有此路徑說明,PB6和ORACLE8不能連通。

      4.3文字類數據(文本)的入庫和查詢

      文本入庫和查詢可采用PB6的MLE(多行編輯器)作界面,編輯完成后存入ORACLE8的LONG字段中,查詢時從LONG字段中取出,放入MLE中查詢,下邊是一個例子:

      //文本的預處理(以去除文本文件中的回車換行符為例說明)

      //將文件讀入BLOB型變量text中fn=fileopen(txtname,streammode!)

      iffn<>-1then

      fileread(fn,text)

      fileclose(fn)

      //將讀入的數據流組合成字符串

      article=string(text)

      s=len(article)

      forv=1tos

      t=pos(article,char(13)+char(10),v)

      ift>0then

      article=replace(article,t,2,"")

      else

      endif

      next

      mle_1.text=article

      //將處理后的文件c:\ldxx.txt存盤,文件中的回車換行符已全部去掉

      text1=blob(article)

      filname="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:bigtext1fromldxxwjwherebh=: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

      4.4處理圖象文件(大的二進制文件)

      職工照片-圖象文件(例如BMP位圖文件)是二進制文件,將其以數據流方式存入ORACLE8的LONG字段中,查詢時從LONG字段中取出,放入圖象框(如p_1)中查詢,下邊是一個例子:

      //將圖象文件讀入BLOB型變量pict中

      fn=fileopen(picname,streammode!)

      iffn<>-1then

      fileread(fn,pict)

      fileclose(fn)

      //將圖象放入圖象框p_1內查看

      setpicture(p_1,pict)

      endif

      //將圖象存入表pic的LONG字段bmpt中

      updateblobpicsetbmpt=:pict;

      commit;

      4.5使用動態數據窗口

      動態數據窗口指的是在程序的運行過程中通過SQL語句的改變動態地創建、修改數據窗口的內容和表現形式,它多用在對同類型的對象的描述過程中,“勞動信息查詢系統”的一些類似的內容可用動態數據窗口來編制,表現形式一致、構造界面統一、編程效率高,當然還有其它一些優點。下邊是一個創建動態數據窗口并由此繪出趨勢圖的例子(動態數據窗口dw_1,圖形框gr_1):

      dw_1.Create(SyntaxFromSQL(SQLCA,"SELECTsj,val01FROMtab01whereytmh=''''"+rowcha+"''''ORDERBYsj","style=(type=grid)",err))

      //執行上述語句會動態地產生類型為grid的數據窗口dw_1。

      //由下邊這段程序做出趨勢圖:

      //將數據調入數據窗口

      dw_1.SetTransObject(sqlca)

      dw_1.Retrieve()

      rows=rowcount(dw_1)

      ifrows>0then

      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

      //圖的類型可根據不同需要隨意選擇,如選擇餅圖、柱狀、折線圖等。

      4.6變量的定義和賦值要正確

      一些整型數值盡量不要定義成INT類型,因為一旦超過32767就會出錯,一定要定義成LONG類型;帶小數的數據變量要定義成DOUBLE型,若定義成LONG類型,會自動設去小數部分,出現精度錯誤。

      PB6中的日期類變量賦值方式比較固定,若日期變量定義錯了,執行有關的SQL語句時會出錯,錯誤現象非常隱蔽,不容易調試,這是編程過程中的常見錯誤,在此特別強調一下。

      舉例如下:

      rqnum1=”2000-06-31”

      rqnum2=”2000-07-01”

      vardate1=string(date(em_1.text),"DD-MMM-YY")

      vardate2=string(date(em_2.text),"DD-MMM-YY")

      主站蜘蛛池模板: 免费人成再在线观看视频| 亚洲一区二区三区啪啪| 国产L精品国产亚洲区在线观看| 天堂网亚洲综合在线| 中文字幕有码在线第十页| 国产成人亚洲综合图区| 国产精自产拍久久久久久蜜| 国产一区二区三区十八禁| 精品国精品自拍自在线| 久久精品亚洲精品国产区| 国产成人一区二区三区免费| 欧美精品人人做人人爱视频| 亚洲性美女一区二区三区| 国产精品国产三级国快看| 国产精品国产高清国产av| 日本偷拍自影像视频久久| 强奷漂亮少妇高潮麻豆| 日韩av在线不卡一区二区| 日本一区二区不卡精品| 999精品全免费观看视频| 国产一卡2卡三卡4卡免费网站 | 亚洲精品熟女一区二区| 免费无码va一区二区三区 | 国产成人高清亚洲综合| 日韩乱码卡一卡2卡三卡四| 亚洲人成电影在线天堂色| 久久亚洲日本激情战少妇| 中文字幕日韩有码一区| 国产精品久久一区二区三区| 中文字幕人妻av12| xxxxbbbb欧美残疾人| 激情国产一区二区三区四区| 一二三四免费中文字幕| 91精品国产综合久蜜臀| 麻豆国产成人AV在线播放| 激情综合色综合久久综合| 亚洲欧美牲交| 国产一精品一av一免费| 国内精品自线在拍| 亚洲国产精品综合久久网络| a级黑人大硬长爽猛出猛进|