国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于數(shù)據(jù)庫(kù)技術(shù)的抽號(hào)建模的實(shí)現(xiàn)

2010-05-29 09:21:54黃良斌
關(guān)鍵詞:順序號(hào)數(shù)組字段

黃良斌

(南通紡織職業(yè)技術(shù)學(xué)院 信息系,江蘇 南通 226007)

0 引 言

每年學(xué)生在進(jìn)行畢業(yè)論文答辯時(shí)均要遇到如何確定答辯順序的問(wèn)題。以前學(xué)校的做法,沒(méi)有體現(xiàn)公正、公平、公開(kāi),為了確定答辯順序也浪費(fèi)了大量的精力與時(shí)間。

通過(guò)網(wǎng)絡(luò)軟件就可以解決當(dāng)前抽號(hào)問(wèn)題,做到一人只能自己抽一次號(hào)[1]。在抽號(hào)完成時(shí)計(jì)算機(jī)自動(dòng)記錄抽號(hào)人所抽取的號(hào)碼,并立即回饋給抽號(hào)人自己。學(xué)生也可以提前知道自己的答辯順序號(hào),方便自己的日程安排。

1 抽號(hào)數(shù)據(jù)庫(kù)的設(shè)計(jì)

數(shù)據(jù)庫(kù)的設(shè)計(jì)非常重要,一個(gè)良好的數(shù)據(jù)庫(kù)的設(shè)計(jì)可以簡(jiǎn)化程序設(shè)計(jì),加快程序的響應(yīng)時(shí)間,提高安全性能與效率。本例采用SQL Server 2000數(shù)據(jù)庫(kù)。SQL Server 2000是微軟公司發(fā)布的一種性能優(yōu)越的面向客戶機(jī)/服務(wù)器的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)[2]。利用數(shù)據(jù)庫(kù)的字段名可以為數(shù)字的特點(diǎn),把字段名建立成如1、2、3、4……100,假設(shè)其班級(jí)參加抽號(hào)的總?cè)藬?shù)不超過(guò)100,如果總?cè)藬?shù)要增加,可以按此方法增加數(shù)據(jù)庫(kù)字段名,其數(shù)據(jù)庫(kù)結(jié)構(gòu)與程序抽號(hào)保存結(jié)果如表1、表2所示。

表1 數(shù)據(jù)結(jié)構(gòu)表

表2 抽號(hào)結(jié)果匯總表

2 抽號(hào)程序總體設(shè)計(jì)

畢業(yè)答辯順序號(hào)的抽號(hào)程序總體分為學(xué)生用戶與教師用戶兩部分。學(xué)生用戶個(gè)體采用自己的用戶名與密碼登錄,登錄后即可進(jìn)行抽號(hào),在抽號(hào)之前,可以看到全班至目前為此已經(jīng)完成抽號(hào)的情況,每人限抽號(hào)一次,抽號(hào)完成后即在頁(yè)面上顯示抽號(hào)結(jié)果,且不能修改抽號(hào)結(jié)果,以體現(xiàn)公平。其程序總體設(shè)計(jì)流程圖如圖1所示。

圖1 系統(tǒng)流程圖

3 抽號(hào)程序詳細(xì)設(shè)計(jì)

進(jìn)入抽號(hào)程序的第一步是獲得抽號(hào)的總?cè)藬?shù),學(xué)校的每個(gè)自然班的總?cè)藬?shù)是個(gè)動(dòng)態(tài)的過(guò)程,程序登錄后,即要獲得班級(jí)的總?cè)藬?shù),這也是數(shù)據(jù)庫(kù)字段名的最大值的確定過(guò)程,以便在抽號(hào)時(shí)得到一個(gè)范圍值。

開(kāi)始抽號(hào)之后的第一步是取剩余號(hào),即從數(shù)據(jù)庫(kù)中查看每個(gè)字段內(nèi)是否有姓名,如果沒(méi)有,則該號(hào)未參加過(guò)抽號(hào),可以從字段的名稱來(lái)得到號(hào)碼,把剩余為空的字段名匯總得到一個(gè)數(shù)組[3]。

根據(jù)數(shù)組的最大下標(biāo),開(kāi)始在數(shù)組內(nèi)隨機(jī)抽一個(gè)數(shù)字,把這個(gè)數(shù)作為數(shù)據(jù)庫(kù)的字段名來(lái)查看是否為空,如果為空則寫入;如果不空,則剛剛有人成功參與了抽號(hào),所以這個(gè)號(hào)不能用,必須重新取號(hào)再重新抽號(hào),直至抽號(hào)完成。具體部分程序如下所示:

”定義一個(gè)未知數(shù)組

DimmyArray()

”找出沒(méi)有參與抽號(hào)的總?cè)藬?shù)

S=0”總?cè)藬?shù)變量

for i=3 to studentnumber+2”因字段偏移,故從第3個(gè)字段開(kāi)始讀取,第1~3字段分別為班級(jí)、系部、學(xué)校

if RT.fields(i)=“”or isnull(RT.fields(i))then S=S+1

next

”根據(jù)未抽號(hào)的總?cè)藬?shù),重新定義數(shù)組大小并賦值Redim myArray(S)

i=0”數(shù)組下標(biāo)變量

for j=3 to studentnumber+2”因字段偏移,故從第3個(gè)字段開(kāi)始讀取,第1~3字段分別為班級(jí)、系部、學(xué)校

if RT.fields(j)=“”or isnull(RT.fields(j))then

myArray(i)=RT.fields(j).name”把未抽的號(hào)記入數(shù)組,號(hào)即字段名稱

i=i+1

end if

next

”開(kāi)始進(jìn)入抽號(hào)程序

for i=0 to S-1

Randomize”初始化隨機(jī)數(shù)生成器

”把隨機(jī)數(shù)作為數(shù)組下標(biāo)得到抽的號(hào)碼

numberRT=myArray(int(S*rnd))

if RT(numberRT)= “”or isnull(RT(numberRT))then”判斷是否有人抽了這個(gè)號(hào),如果是空,則寫入

sql= “update tablename set[” &numberRT&“]='” &Session(“NAME”)&“‘where classname='”&classname&“‘a(chǎn)nd partname='”&partname&“‘a(chǎn)nd schoolname='” &schoolname&“'”

con.execute(sql)

exit for

end if

next

4 結(jié) 語(yǔ)

依靠數(shù)據(jù)庫(kù)本身的字段名來(lái)實(shí)現(xiàn)抽號(hào)過(guò)程,可以簡(jiǎn)化程序設(shè)計(jì),提高程序的響應(yīng)時(shí)間與效率,在用戶總數(shù)不是太多的情況下,采用此方式有著一定優(yōu)勢(shì)。

[1]王正敏,劉厚泉.抽號(hào)建模的實(shí)現(xiàn)與探討[J].微計(jì)算機(jī)信息,2007,23(33):195-196.

[2]宋陽(yáng),嚴(yán)平,曹彤.基于ASP、SQL Server 2000實(shí)現(xiàn)的Web文獻(xiàn)檢索系統(tǒng)及其查詢優(yōu)化[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(10):25-28.

[3]張琳,程敏熙.基于ASP的實(shí)驗(yàn)考試抽簽系統(tǒng)[J].中山大學(xué)學(xué)報(bào)論叢,2006,26(1):27-31.

猜你喜歡
順序號(hào)數(shù)組字段
關(guān)于參考文獻(xiàn)著錄格式
圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
JAVA稀疏矩陣算法
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
OKUMA MCR 系列加工中心ATC 故障修復(fù)
尋找勾股數(shù)組的歷程
關(guān)于參考文獻(xiàn)著錄格式
CNMARC304字段和314字段責(zé)任附注方式解析
無(wú)正題名文獻(xiàn)著錄方法評(píng)述
關(guān)于CNMARC的3--字段改革的必要性與可行性研究
通江县| 西乌珠穆沁旗| 托克托县| 偏关县| 阜新| 奎屯市| 钟山县| 湖口县| 贡山| 娄烦县| 淮北市| 云浮市| 蓝田县| 北京市| 如东县| 宿迁市| 阿巴嘎旗| 仙游县| 上虞市| 宝丰县| 驻马店市| 逊克县| 北川| 壤塘县| 万州区| 万源市| 广德县| 阿拉尔市| 田林县| 高青县| 鄱阳县| 临洮县| 建宁县| 尼木县| 克东县| 建始县| 桑日县| 山西省| 建平县| 宁波市| 黔西|