999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用PB實現抽獎系統的設計與實現

2017-06-05 16:29:03徐庭松
電子技術與軟件工程 2017年7期

徐庭松

摘 要 本文描述了基于抽獎系統的設計與實現,通過前期的需求分析、系統流程設計、系統功能設計,軟件選擇PB(powerbuilder 9.0)作為系統開發工具,使用ACCESS作為數據庫開發此系統,由于抽獎系統是一個獨立的軟件,所以采用單機版的數據庫,安裝簡便,界面友好,容易移植,目前使用效果好。

【關鍵詞】PB ACCESS 抽獎 隨機記錄數

1 引言

我院為了豐富職工文化生活,每年春節臨近時都舉行晚會,在晚會過程中為了活躍氣氛,有多次抽獎機會,分別抽出一等獎,二等獎,三等獎近400多名,往年都是把全院近700多人名單打印出來,折疊放在暗箱,由院領導分批次抽取,一個一個讀出,占用時間長,而且職工懷疑有不透明的暗箱操作的嫌疑,今年根據醫院工會要求,由我院信息科著手開發抽獎系統,這個任務由我全權負責開發,利用了2天時間完成任務,現將經驗分享各位。

2 設計目標

本系統能夠根據選擇獎項不同,在數據庫中隨機抽取10個人數,展示在屏幕上,由操作員點開始與停止,抽出10名幸運觀眾。被抽取的幸運觀眾將在待抽取的數據庫中打上標識,在下次抽取中不再被選,以保證幸運觀眾不重復,同時保證待抽取的觀眾被抽取的機率相等。

3 數據庫表結構

由于本系統操作簡單,數據庫僅有2張表,一張Person_table全體職工表,一張Person_selected,獲獎員工表,表結構分別如下:

3.1 Person_table表字段

Person_id 員工ID,Person_name 員工姓名,Person_Sex 員工性別,Cecked 中獎標志(0,為未中,1為中獎)

3.2 Person_selected表字段

Person_id 員工ID,Person_name 員工姓名,Person_Sex 員工性別,Jiang_X 獎項

4 程序設計

4.1 編程思想

PowerBuilder美國Sybase公司研制的一種新型、快速開發工具,是客戶機/服務器結構下,基于Windows3.x、Windows95和WindowsNT的一個集成化開發工具。它包含一個直觀的圖形界面和可擴展的面向對象的編程語言PowerScript,提供與當前流行的大型數據庫的接口,并通過ODBC與單機數據庫相連。

4.2 系統的實現

4.2.1 員工基本信息的建立

由于是單機版,采用微軟的ACCESS數據庫,對于一個近千人的單位,足夠使用,剛開始我采用的是SQL2000數據庫。在開發過程中感覺非常不便,單機還要安裝SQL數據庫,待抽獎人員還要開發錄入,修改,刪除的功能,時間緊,來不及,最重要是操作非常煩瑣,后決定采用易操作的ACCESS數據庫。

首先建立待抽獎數據庫,表結構如圖1。

表結構建立后,將EXCEL里將待抽取的人員按數據庫的結構復制至數據庫表中,注意表中Checked 設置為0,待抽取狀態,如圖2。

建立空表結構Person_selected,用于插入中獎員工記錄,保存便于導出,表結構如圖3。

中獎后記錄如圖4。

4.2.2 隨機記錄的產生

經查詢資料,在網上搜索到:四種數據庫隨機獲取10條數據的方法

SQL Server:

SELECT TOP 10 * FROM T_USER ORDER BY NEWID()

ORACLE:

SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10

MySQL:

SELECT * FROM T_USER ORDER BY RAND() LIMIT 10

Access:

SELECT TOP 10 * FROM T_USER ORDER BY rnd([一個自動編號字段])

4.2.3 代碼實現

窗口主要控件:

a、下拉列表框控件ddlb_1,顯示待選擇的獎項:如:一等獎,二等獎等;

b、靜態文本框statictext控件,存放待抽取人數,各類獎項中獎人數及按秒滾動的人員姓名框,如圖5。

c、在主窗口的timer事件中加入隨機抽取記錄腳本,定義游標等,因為一屏只顯示10位員工,所以只隨機抽取10條記錄:

DECLARE C1 CURSOR FOR

select top 10 person_id,person_name from Person_table where checked='0' order by rnd(person_id);

OPEN C1;

FOR LI_ROW=1 TO 10

FETCH C1 INTO :p_id[li_row],:name[li_row];

NEXT

CLOSE C1;

st_1.text= name[1]

st_2.text= name[2]

st_3.text= name[3]

st_4.text= name[4]

st_5.text= name[5]

st_6.text= name[6]

st_7.text= name[7]

st_8.text= name[8]

st_9.text= name[9]

st_10.text= name[10]

d、開始,停止命令控件,實現timer(0.01)不停滾動,點擊停止,展現中獎人員姓名,同時保存到中獎人員表中,供舉辦單位導出,打印,部分重要代碼如下:

if this.text ='開始' then

this.text ='停止'

timer(0.01)

else

this.text ='開始'

timer(0) --停止滾動

if sqlca.sqlcode <> 0 then

ErrMessage('數據庫出現問題!')

return 1

end if

if checked = 1 then

infomessage("此號碼已經抽到過并且已經做了保存!" )

return

end if

--保存中獎員工記錄:

insert into lottery_selected (person_id,person_name,checked,Jiang_X,registerdate)

values(:p_id[ll_row],:name[ll_row],'1',:ls_jx,:ldt_now);

運行主界面如圖6。

當點停止時,10個員工名單自動保存至中獎表中,再點開始,將進行下一輪的抽取工作。

點中獎按鈕,并有導出功能,如圖7。

5 結束語

本系統經過測試,完全在各32位的系統運行,院領導非常滿意,社會效果好。

參考文獻

[1]魏莉.數據庫驅動的標準化制圖技術研究[D].中國地質大學(北京),2015.

[2]溫瑩.稅銀聯網地稅端子系統的設計與實現[D].中國石油大學,2008.

[3]韓亮.綜合統計信息智能管理系統的設計與開發[D].大連理工大學,2006.

作者單位

1.淮安市康復醫院 江蘇省淮安市 211600

2.金湖縣人民醫院 江蘇省淮安市 211600

主站蜘蛛池模板: 欧美日韩va| 成人日韩欧美| 高清欧美性猛交XXXX黑人猛交| 国产波多野结衣中文在线播放 | 伊人丁香五月天久久综合| 国产第三区| 91久久偷偷做嫩草影院| 亚洲国产精品不卡在线| 久久综合婷婷| 人妻夜夜爽天天爽| 粗大猛烈进出高潮视频无码| 国产成人亚洲综合A∨在线播放| 中文字幕在线视频免费| 国产在线观看第二页| 精品人妻一区二区三区蜜桃AⅤ| 性欧美在线| 亚洲第一页在线观看| 国产精品亚洲欧美日韩久久| 在线日韩一区二区| 91最新精品视频发布页| 色天堂无毒不卡| 在线观看国产精美视频| 国产美女无遮挡免费视频网站 | 亚洲男人的天堂网| 国产精品久久久精品三级| 国产高清又黄又嫩的免费视频网站| 精品亚洲欧美中文字幕在线看| aa级毛片毛片免费观看久| 无码综合天天久久综合网| 亚洲欧美另类日本| 久久精品亚洲热综合一区二区| 欧洲极品无码一区二区三区| 国产精品亚洲日韩AⅤ在线观看| 内射人妻无码色AV天堂| 欧美成人综合视频| 亚洲国产看片基地久久1024| 福利在线不卡一区| 激情在线网| 老汉色老汉首页a亚洲| 久久久久久高潮白浆| 久久国产拍爱| 97成人在线视频| 91九色国产在线| 色成人综合| 日日碰狠狠添天天爽| 中文天堂在线视频| 99免费在线观看视频| 亚洲成人在线免费| 浮力影院国产第一页| AV熟女乱| 在线观看亚洲国产| 日韩精品无码一级毛片免费| 精品免费在线视频| 人妻丰满熟妇αv无码| 亚洲欧洲日本在线| 强乱中文字幕在线播放不卡| 操操操综合网| 国产成人久久综合一区| 97se亚洲综合在线| 亚洲天堂日本| 青青草原偷拍视频| 国产成人成人一区二区| 欧美人人干| 毛片免费网址| 不卡色老大久久综合网| 国产精品无码AV片在线观看播放| 99热6这里只有精品| 999精品视频在线| 亚洲精品视频免费观看| 72种姿势欧美久久久久大黄蕉| 国产美女在线观看| 视频二区国产精品职场同事| 伊人久综合| 日本欧美在线观看| 国产亚洲精品va在线| 亚洲欧洲日产无码AV| 综合色婷婷| 中文字幕免费视频| 老色鬼久久亚洲AV综合| 国产精品漂亮美女在线观看| 国产无码精品在线| 亚洲啪啪网|