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

使用delphi+QReport實(shí)現(xiàn)成績(jī)管理的動(dòng)態(tài)排名

2009-04-29 00:00:00孔陶茹
電腦知識(shí)與技術(shù) 2009年24期

摘要:目前,幾乎所有高校的成績(jī)管理都采用了MIS系統(tǒng)來(lái)實(shí)現(xiàn)。但鑒于高校課程設(shè)置的靈活性,及不同專(zhuān)業(yè)課程設(shè)置的差異性,實(shí)現(xiàn)一個(gè)靈活、完善、統(tǒng)一的成績(jī)排名功能一直是每個(gè)成績(jī)管理軟件最為關(guān)注的和難以做到盡善盡美的。探討了使用delphi+access開(kāi)發(fā)的成績(jī)管理系統(tǒng)中動(dòng)態(tài)排名的思路、方法及實(shí)現(xiàn)。

關(guān)鍵詞:成績(jī)管理;排名;delphi;access

中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)24-7022-04

Implementing Dynamic Score Ranking Using Delphi and Access

KONG Tao-ru, YU Wei

(International Department, Xi'an Siyuan University, Xi'an 710038, China)

Abstract: At present, Almost all the colleges has used MIS system to implement their Score Managing. But because of the flexibility of the curriculum in college and the differences between different majors, it’s most important and a little difficult for every Score Managing Software to implement a flexible and all-purpose score ranking function. The thought, method and implementing of flexible and all-purpose score ranking in college Score Management are discussed in detail.

Key words: score managing; score ranking; delphi; access

1 目前成績(jī)管理中排名實(shí)現(xiàn)的難點(diǎn)及重點(diǎn)

學(xué)生成績(jī)管理是高校教務(wù)管理中至關(guān)重要也最為復(fù)雜的功能。 而成績(jī)排名則是高校成績(jī)管理中最復(fù)雜和重要的功能。

對(duì)高校成績(jī)管理來(lái)講,實(shí)現(xiàn)成績(jī)排名有三個(gè)難點(diǎn):

1)將成績(jī)的縱向記錄轉(zhuǎn)為橫向連接:在成績(jī)表中,每個(gè)學(xué)生的每門(mén)課程對(duì)應(yīng)一條記錄。假設(shè)某班有30名學(xué)生,每個(gè)學(xué)生在本學(xué)期參與了8門(mén)課程的考試。則在成績(jī)表中:每個(gè)學(xué)生的成績(jī)對(duì)應(yīng)8條記錄,全班學(xué)生共有240條成績(jī)記錄。而班級(jí)期末成績(jī)排名需要將學(xué)生的各門(mén)課程的成績(jī)橫向連接起來(lái)形成一條記錄,即八門(mén)課程名都作為字段名顯示出來(lái),這樣每個(gè)學(xué)生的排名結(jié)果對(duì)應(yīng)1條記錄,全班學(xué)生的排名結(jié)果共對(duì)應(yīng)30條記錄。

2)實(shí)現(xiàn)各專(zhuān)業(yè)不同課程數(shù)、學(xué)生數(shù)情況下的統(tǒng)一的成績(jī)求和及排名:同一高校內(nèi)各專(zhuān)業(yè)、各班級(jí)的課程門(mén)數(shù)未必相同。若為每個(gè)專(zhuān)業(yè)的各班級(jí)做各自不同的成績(jī)排名功能顯然會(huì)造成編程人員工作量的加大,及后期軟件維護(hù)工作量的加大。所以,我們考慮做一個(gè)動(dòng)態(tài)的成績(jī)排名:即無(wú)論各專(zhuān)業(yè)、各班級(jí)有多少課程門(mén)數(shù)、學(xué)生數(shù),我們都可實(shí)現(xiàn)統(tǒng)一完善的成績(jī)排名。

3)通過(guò)動(dòng)態(tài)生成報(bào)表來(lái)實(shí)現(xiàn)不同課程數(shù)、學(xué)生數(shù)的統(tǒng)一報(bào)表格式:由于各專(zhuān)業(yè)每學(xué)期課程門(mén)數(shù)及學(xué)生數(shù)不等,所以對(duì)排名結(jié)果無(wú)法使用統(tǒng)一格式的報(bào)表來(lái)實(shí)現(xiàn)。很多成績(jī)管理系統(tǒng)的做法都是提供用戶將排名結(jié)果導(dǎo)入到excel中,再進(jìn)行格式調(diào)整和打印。而在本系統(tǒng)中,我們利用第三方報(bào)表工具QReport實(shí)現(xiàn)了針對(duì)排名結(jié)果動(dòng)態(tài)生成統(tǒng)一的報(bào)表,即不管排名結(jié)果中有多少學(xué)生、多少門(mén)課程,都生成統(tǒng)一的報(bào)表格式并打印。

2 本系統(tǒng)采用的軟件

2.1 delphi編程語(yǔ)言環(huán)境

Delphi是Windows應(yīng)用軟件開(kāi)發(fā)環(huán)境, 采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,具有高效的編譯器及強(qiáng)大的異常事件處理能力,使得程序設(shè)計(jì)者能用最簡(jiǎn)易的方法、在最短的時(shí)間開(kāi)發(fā)出界面優(yōu)美、運(yùn)行可靠、功能強(qiáng)大的Windows應(yīng)用軟件。

2.2 QReport報(bào)表工具

本系統(tǒng)中所有的報(bào)表包括學(xué)生成績(jī)排名報(bào)表都是使用QReport報(bào)表工具實(shí)現(xiàn)的。QReport是一款非常強(qiáng)大的數(shù)據(jù)分析及報(bào)表工具,支持多種流行的開(kāi)發(fā)語(yǔ)言環(huán)境,包括Delphi、.Net、Java等。

3 系統(tǒng)數(shù)據(jù)庫(kù)結(jié)構(gòu)

其中,成績(jī)表、成績(jī)臨時(shí)表、排名結(jié)果表是實(shí)現(xiàn)排名結(jié)果及報(bào)表用到的三個(gè)表。

3.1 學(xué)生表

表1為學(xué)生表。

3.3 課程表

表2為課程表。

3.4 成績(jī)表

表3為成績(jī)表。

3.5 成績(jī)臨時(shí)表

用來(lái)在生成排名結(jié)果的過(guò)程中存放指定班級(jí)和學(xué)期的學(xué)生成績(jī)記錄。表結(jié)構(gòu)同成績(jī)表。

表4為成績(jī)臨時(shí)表。

3.6 排名結(jié)果表

表5為排名結(jié)果表。

4 成績(jī)排名的流程設(shè)計(jì)

如圖1所示。

5成績(jī)排名的窗體及運(yùn)行結(jié)果

5.1 登錄系統(tǒng)

圖2為登錄窗體。

輸入正確的用戶名和密碼后,點(diǎn)擊‘登錄’,即進(jìn)入了主界面,如圖3。

5.2 進(jìn)入“班級(jí)期末成績(jī)排名”窗體

在主界面點(diǎn)擊“班級(jí)期末成績(jī)排名”菜單,進(jìn)入“班級(jí)期末成績(jī)排名”窗體,如圖4。

5.3 排名進(jìn)程

在‘班級(jí)期末成績(jī)排名’窗體選擇 ‘班級(jí)’和‘學(xué)期’,如‘06BA1’班,第‘一’學(xué)期,點(diǎn)擊‘確定’,則有個(gè)進(jìn)程條顯示正在生成排名數(shù)據(jù),圖5為排名進(jìn)程。

5.4 排名結(jié)果

排名完畢,即顯示‘排名結(jié)果’窗體,圖6為排名結(jié)果。

5.5 打印排名結(jié)果報(bào)表

在 ‘排名結(jié)果’窗體中,點(diǎn)擊“打印”按鈕,即顯示排名結(jié)果報(bào)表的打印預(yù)覽,如圖7所示。

點(diǎn)擊工具欄的‘打印’按鈕,即可打印。

6 成績(jī)排名實(shí)現(xiàn)的關(guān)鍵代碼:

6.1 生成排名結(jié)果

procedure Tfrm_ClassTermQue.BTN_QueryClick(Sender: TObject);

//本子程序變量聲明

var CmdText,Item,F(xiàn)NOFMc,F(xiàn)NOFZF:String;

i,j,m,n,StuCount:integer;

SumScore:real;

TheColumn:Tcolumn;

begin

Str_Class:=dbcombox_class.text;

str_term:=trim(cbx_Term.text);

//將成績(jī)的縱向記錄轉(zhuǎn)為橫向連接

with dm_frm.ADS_TempStuScore do

begin

close;

commandtext:='select * from 排名結(jié)果表';

open;

end;

//提取學(xué)號(hào)、姓名

with dm_frm do

begin

ads1.close;

ads1.CommandText:='select 思源學(xué)號(hào),學(xué)生姓名 from 學(xué)生表 where 班級(jí)代碼='''+str_class+'''';

ads1.open;

//將符合條件的所有的學(xué)號(hào)、姓名插入到排名結(jié)果表表中

while not ads1.eof do

begin

with ADS_TempStuScore do

begin

insert;

FieldValues['FstudentID']:=ads1.FieldValues['思源學(xué)號(hào)'];

FieldValues['FName']:=ads1.FieldValues['學(xué)生姓名'];

post;

End;

ads1.next;

end;

end;

with dm_frm.ads2 do

//實(shí)現(xiàn)各專(zhuān)業(yè)不同課程數(shù)、學(xué)生數(shù)情況下的統(tǒng)一的成績(jī)求和及排名

FNOFZF:=dm_frm.ADS_TempStuScore.fields[m].FieldName;//‘總分’

m:=m+1;//‘名次’

i:=1;//名次從1開(kāi)始排

FNOFMc:=dm_frm.ADS_TempStuScore.fields[m].FieldName;//‘名次’

j:=0; //已排名人數(shù)

StuCount:=dm_frm.ADS.fieldvalues['StuCount'];

while j

begin

while not dm_frm.ADS.Eof do

begin

dm_frm.acmd.commandtext:='update 排名結(jié)果表 set '+dm_frm.ADS.fields[m].FieldName+'='+inttostr(i)+' where fstudentid='''+dm_frm.ADS.fieldvalues['Fstudentid']+'''';

dm_frm.acmd.Execute;

j:=j+1;

dm_frm.ADS.next;

end;

i:=i+1;//將被分配的名次

end;

end;

6.2 生成排名結(jié)果報(bào)表:

procedure Tfrm_Rep_TermScoreQueueReport.BTN_PrintClick(Sender: TObject);

vari:integer;

left:integer;

begin

with dm_frm.ads3 do

begin

close;

commandtext:='select 課程代碼,中文課程名 from 課程表 where 課程表.所屬專(zhuān)業(yè)='''+frm_ClassTermQue.str_spe+''' and 課程表.考核學(xué)期='''+frm_ClassTermQue.str_term+''' order by 課程代碼';

open;

while not eof do

begin

QRLabel_arr[i]:=TQRLabel.create(nil);

With QRLabel_arr[i] do

begin

parent:=qr_Score.Bands.ColumnHeaderBand;

caption:=fieldvalues['中文課程名'];

width:=150;

height:=14;

top:=5;

End;

//

QRDBText_arr[i]:=TQRDBText.create(nil);

With QRDBText_arr[i] do

begin

parent:=qr_Score.Bands.detailBand;

DataSet:=dm_frm.ads_TempstuScore;

dataField:=dm_frm.ads_TempstuScore.Fields[i+2].FieldName;

width:=150;

height:=14;

top:=5;

end

if i=0 then

left:=left+10

else

left:=left+60;

QRLabel_arr[i].left:=left;

QRDBText_arr[i].left:=left;

i:=i+1;

next;

end;

end;

end;

參考文獻(xiàn):

[1] 陳豫龍,何旭洪.Delphi6數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2002.

[2] Bodand Software Corpomtion.Borland Developer Stlldio 2006 Guide[M].USA:Borland Software Corporation,2006.

[3] 張春林,馬成勇,劉均.Delphi7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2003.

主站蜘蛛池模板: 欧美日韩专区| 国产人前露出系列视频| 真实国产乱子伦高清| 久久毛片网| 欧美成人午夜在线全部免费| 成年片色大黄全免费网站久久| 91视频青青草| 亚洲乱码视频| 免费看av在线网站网址| 亚洲狼网站狼狼鲁亚洲下载| 久久国产乱子| 91视频首页| 天天综合网色中文字幕| 欧美一级特黄aaaaaa在线看片| 亚洲精品国产自在现线最新| 免费看的一级毛片| 夜夜操狠狠操| 成人日韩欧美| 老司机久久精品视频| 日韩人妻少妇一区二区| 欧美一区精品| 亚洲三级色| 久久永久精品免费视频| 九色在线观看视频| www.91在线播放| 91成人在线免费视频| 伊人色在线视频| 狠狠做深爱婷婷久久一区| 欧美啪啪网| 日韩大片免费观看视频播放| 极品国产一区二区三区| 在线无码av一区二区三区| 国产在线专区| 国产一级在线观看www色| 欧美成人国产| 国产精品极品美女自在线| 极品国产在线| 色综合网址| 国产麻豆91网在线看| 亚洲精品综合一二三区在线| 老司机精品99在线播放| 久久五月视频| 日韩欧美中文| 亚洲成人福利网站| 亚洲日本www| 内射人妻无套中出无码| 欧美精品v| 亚洲视频三级| 日韩欧美中文字幕一本| 久久久精品国产亚洲AV日韩| 国产91特黄特色A级毛片| 欧美另类图片视频无弹跳第一页| 欧美一区国产| 国产在线精品美女观看| 欧美综合激情| 亚洲一区第一页| 最新国产你懂的在线网址| 国产精品性| 亚洲欧洲日韩综合| 乱码国产乱码精品精在线播放| 欧美第二区| 伊人查蕉在线观看国产精品| 一区二区理伦视频| 国产交换配偶在线视频| 亚洲欧美日韩中文字幕在线| 国产国模一区二区三区四区| 亚洲性视频网站| 午夜福利免费视频| 久久精品视频亚洲| 国产精品手机视频一区二区| 国产成人综合久久精品尤物| 国产欧美日韩视频怡春院| …亚洲 欧洲 另类 春色| 久久精品日日躁夜夜躁欧美| a级毛片免费播放| 国产精品所毛片视频| 伊人婷婷色香五月综合缴缴情| 国国产a国产片免费麻豆| 欧美黄网站免费观看| 午夜免费视频网站| 一级黄色网站在线免费看| 丁香亚洲综合五月天婷婷|