摘 要:在此主要描述了艺术类专业考试网上报名系统的设计与实现过程,该系统采用B/S模式,实现了考生报名、考场安排、成绩管理等一体化功能,大大缩短了考生报名和考试组织工作的时间.详细介绍了系统的开发环境、功能设计和数据库设计环节,重点阐述了系统的主要功能及其实现的关键技术.
关 键 词:艺术类;网上报名系统;数据库设计;B/S模式
中图分类号:TN91934;TP311文献标识码:A文章编号:1004373X(2014)22007005
Designandimplementationofonlineregistrationsystemforartprofessionalexam
YUNing,WANGYanchun,MAShuai
(QingdaoAgriculturalUniversity,Qingdao266109,China)
Abstract:Thedesignandimplementationprocessofonlineregistrationsystemfortheartprofessionalexamaredescribedinthispaper.TheB/Smodeisadoptedinthissystem.Theintegrationofcandidateregistration,examarrangement,performancemanagementandotherfunctionswereachieved,whichgreatlyshortedthetimeofcandidateregistrationandexaminationarrangement.Thesystemdevelopmentenvironment,functionaldesignanddatabasedesignaredescribedinthispaper.Thefunctionsofthesystemandkeytechnologiesofitsimplementationareelaboratedemphatically.
Keywords:artprofession;onlineregistrationsystem;databasedesign;B/Smode
艺术类专业招生工作是高校招生工作的重要组成部分.目前大多数高校都是自主招生,采用现场报名的方式,考生需携带现场报名、现场缴费、打印准考证等待的时间长.另外由于现场报名时间一般为2~3天,报名时间和考试时间相隔较短,容易出现报名人数多,考试组织和后期数据处理工作量大的现象[12].近几年,随着高校艺术类专业报考人数的不断增加,现场报名的方式已不能满足艺术类专业招生工作的需要,因此开发一套适合当前招生工作需要的网上报名系统,实现考生报名、考场安排、成绩管理等一体化功能,将进一步简化报名程序、规范考试管理,减轻工作强度,提高工作效率,确保考试组织工作的顺利进行[36].
1系统开发环境
系统使用Windows7操作系统,开发工具VisualStudio2012+SQLServer2008.VisualStudio2012是最流行的Windows平台应用开发环境,是一个集成、全面、易掌握的开发工具,具有优良的可扩展性和版本兼容性.SQLServer2008数据库是在Microsoft的数据平台上发布,可以组织管理任何数据,具有很高的安全性、可靠性和可扩展性,为艺术类专业考试网上报名系统提供了良好的后台数据支撑.
2系统功能设计
2.1考生报名功能
考生登录网上报名系统,浏览报考须知.然后进入报名界面.考生输入报考证号、姓名和号,系统进行数据比对,身份验证通过后,显示该考生的详细信息,考生选择报考专业及面试科目,然后提交报名信息,并等待系统审核.审核通过后,考生进行网上缴费.缴费成功后,系统随机进行笔试、面试考场安排,并生成准考证,考生打印准考证,整个网上报名程序结束.考生报名功能结构如图1所示.
2.2后台管理功能
2.2.1时间管理功能
系统可设置报名和成绩查询的起止时间,超过规定时间,系统将锁定该功能,考生不能登录报名系统.
2.2.2数据管理功能
系统具有数据导入功能,可将省招办提供的考生基本信息导入数据库,作为考生信息比对的依据.可将考场安排表、考生照片、考生成绩等导入系统数据库,便于数据信息维护.系统具有数据导出功能,可将已报名并缴费成功的考生信息、考生成绩等以Excel格式导出.
图1考生报名功能结构图
2.2.3考生信息管理
管理员登录系统查看审核考生报名信息,可对信息进行修改,导出考生信息,打印考生名单.
2.2.4考试管理功能
管理员可对相应年度的艺术类招生专业、笔试面试科目、考试时间、考试时限、考场安排等进行设置,可按考场预览打印考生信息表.
2.2.5成绩管理功能
管理员可通过系统导入、录入考生成绩,由系统计算总成绩,然后将整理好的考生成绩导出保存.考生可登陆报名系统查询个人成绩.后台管理功能结构具体如图2所示.
3数据库设计
本文选择SQLServer2008为后台数据平台,进行数据库表的设计,实现考生报名信息的储存和调用,为系统提供强大数据的支持[7].主要设计的数据表有:管理员用户表、考生基本信息表、考生报考信息表、专业代码表、考场安排表、考生成绩表和考试科目表等.数据库构成及主要数据表如图3所示.
图3数据库构成及主要数据表
4系统实现的关键技术
4.1数据导入
随着艺术类专业报考人数的大幅增加,对每个考生的身份验证、信息管理以及考试成绩录入,如果仅靠人工来完成,工作量巨大,而且数据的准确性很难保证[89].鉴于这种情况,系统提供了数据的导入和导出功能.可将导入考生信息、考场安排信息、考生照片、考生成绩等.数据导入功能可以大大节约数据处理的时间,提高招生工作效率.信息导入界面如图4所示.
图4数据导入界面
考生信息导入功能的部分代码如下:
publicclasskaosheng
{
sqlclasssqluse等于newsqlclass();
publickaosheng()
publicDataTableExcelchange(stringfileExtenSion,stringfilepath)
{
stringconnstr2003等于"Provider等于Microsoft.Jet.OLEDB.4.0;DataSource等于"+filepath+";ExtendedProperties等于′Excel8.0;HDR等于Yes;IMEX等于1;′";
stringconnstr2007等于"Provider等于Microsoft.ACE.OLEDB.12.0;DataSource等于"+filepath+";ExtendedProperties等于\"Excel12.0;HDR等于YES\"";
OleDbConnectionconn;
if(fileExtenSion.ToLower()等于等于".xls")
{
conn等于newOleDbConnection(connstr2003);
}
else
{
conn等于newOleDbConnection(connstr2007);
}
conn.Open();
stringsql等于"select*from[Sheet1$]";
OleDbCommandcmd等于newOleDbCommand(sql,conn);
DataTabledt等于newDataTable();
OleDbDataReadersdr等于cmd.ExecuteReader();
dt.Load(sdr);
sdr.Close();
conn.Close();
returndt;
}
publicstringclearInto_kaosheng(DataTabledt)
{
if(dt.Columns.Count!等于13)
{
stringmessageshow等于"数据库与Excel中字段个数不相等!";
returnmessageshow;
}
elseif(dt.Rows.Count<1)
{
stringmessageshow等于"Excel中不存在合法字段!";
returnmessageshow;
}
elseif(dt.Columns[0].ColumnName.ToString()!等于"ksh"||dt.Columns[1].ColumnName.ToString()!等于"xm"||dt.Columns[2].ColumnName.ToString()!等于"xb"||dt.Columns[3].ColumnName.ToString()!等于"mz"||dt.Columns[4].ColumnName.ToString()!等于"kldm"||dt.Columns[5].ColumnName.ToString()!等于"zh"||dt.Columns[6].ColumnName.ToString()!等于"byxxdm"||dt.Columns[7].ColumnName.ToString()!等于"byxxmc"||dt.Columns[8].ColumnName.ToString()!等于"lxdh"||dt.Columns[9].ColumnName.ToString()!等于"lxdz"||dt.Columns[10].ColumnName.ToString()!等于"yzbm"||dt.Columns[11].ColumnName.ToString()!等于"dqdm"||dt.Columns[12].ColumnName.ToString()!等于"yslbdm"){
stringmessageshow等于"数据库与Excel中字段无法对应!";
returnmessageshow;
}
else
{
try
{
intaddRow等于0;
stringsql等于"deletefromkaosheng";
sqluse.execsql(sql);
foreach(DataRowdatarowindt.Rows)
{
stringstrSql等于"insertintokaosheng(ksh,xm,xb,mz,kldm,zh,byxxdm,byxxmc,lxdh,lxdz,yzbm,dqdm,yslbdm)values(′"+datarow["ksh"].ToString()+"′,′"+datarow["xm"].ToString()+"′,′"+datarow["xb"].ToString()+"′,′"+datarow["mz"].ToString()+"′,′"+datarow["kldm"].ToString()+"′,′"+datarow["zh"].ToString()+"′,′"+datarow["byxxdm"].ToString()+"′,′"+datarow["byxxmc"].ToString()+"′,′"+datarow["lxdh"].ToString()+"′,′"+datarow["lxdz"].ToString()+"′,′"+datarow["yzbm"].ToString()+"′,′"+datarow["dqdm"].ToString()+"′,′"+datarow["yslbdm"].ToString()+"′)";
sqluse.execsql(strSql);
addRow++;
}
stringmessageshow等于"数据导入成功!共导入数据条数为:"+addRow.ToString();
returnmessageshow;
}
catch(System.Exceptionex)
{
stringmessageshow等于"数据导入失败!";
returnmessageshow;
}
}
}
}
4.2考场安排
为了确保考场管理的规范性,保证考试工作公平公正,系统具备随机安排考场及座位号的功能,避免了现场报名时团体报名的考生都在同一考场的情况发生[10].考场安排功能界面如图5所示.
考场安排功能的部分代码如下:
protectedvoidButton1_Click(objectsender,EventArgse)
//考场座次安排
{
//安排表清空,考场编号表zt字段置为零
stringsqlstr等于"deletefromanpai";
sql.execsql(sqlstr);
stringsqlstrs等于"updatezuoweisetzt等于′0′";
sql.execsql(sqlstrs);
//考生人数表
stringsqlstr1等于"select*fromzhiyuanwherefree等于′1′";
DataTabledt_zhiyuan等于sql.ReadTable(sqlstr1);
//科目表
stringsqlstr2等于"select*frombishi";
DataTabledt_bishi等于sql.ReadTable(sqlstr2);
//座位号
stringsqlstr3等于"select*fromzuowei";
DataTabledt_zuowei等于sql.ReadTable(sqlstr3);
for(inti等于1;i { for(intj等于1;j { if(dt_zhiyuan.Rows[j1][8].ToString()!等于"1") { start: Randomran等于newRandom(System.DateTime.Now.Millisecond); intnum等于ran.Next(0,dt_zuowei.Rows.Count);//产生随机数 stringsqlstr4等于"select*fromzuoweiwhereid等于′"+dt_zuowei.Rows[num][0].ToString()+"′"; intzuoweizt等于Convert.ToInt32(sql.Readstr(sqlstr4,2)); if(zuoweizt stringsqlstr5等于"select*fromzuoweiwhereid等于′"+dt_zuowei.Rows[num][0].ToString()+"′"; stringzwbh等于sql.Readstr(sqlstr5,1); stringkcqz等于zwbh.Substring(0,zwbh.IndexOf("_")); stringsqlstr6等于"select*fromkaochangwhereqz等于′"+kcqz+"′"; stringksh等于dt_zhiyuan.Rows[j1][1].ToString(); stringxm等于dt_zhiyuan.Rows[j1][2].ToString(); stringkm等于dt_bishi.Rows[i1][1].ToString(); stringrq等于dt_bishi.Rows[i1][2].ToString(); stringsj等于dt_bishi.Rows[i1][3].ToString(); stringdd等于sql.Readstr(sqlstr6,1); stringkc等于kcqz; stringzh等于zwbh.Substring(zwbh.IndexOf("_")+1); stringsqlstr7等于"insertintoanpai(ksh,xm,km,rq,sj,dd,kc,zh)values(′"+ksh+"′,′"+xm+"′,′"+km+"′,′"+rq+"′,′"+sj+"′,′"+dd+"′,′"+kc+"′,′"+zh+"′)"; sql.execsql(sqlstr7); intnewztq等于zuoweizt+1; stringnewzt等于newztq.ToString(); stringsqlstr8等于"updatezuoweisetzt等于′"+newzt+ "′whereid等于′"+dt_zuowei.Rows[num][0].ToString()+"′"; sql.execsql(sqlstr8); } else { gotostart; } } } } stringsqlstr11等于"updatezhiyuansetkcap等于′1′"; sql.execsql(sqlstr11); stringsqlstr12等于"updatekaoshengsetkcap等于′1′"; sql.execsql(sqlstr12); bindgrid(); } voidbindgrid() { stringstrsql等于"select*fromanpai"; GridView1.DataSource等于sql.ReadTable(strsql); GridView1.DataKeyNames等于newstring[]{"Id"}; GridView1.DataBind(); } protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse) { //得到该控件 GridViewtheGrid等于senderasGridView; intnewPageIndex等于0; if(e.NewPageIndex等于等于3) { //点击了Go按钮 TextBoxtxtNewPageIndex等于null; GridViewRowpagerRow等于theGrid.BottomPagerRow; if(pagerRow!等于null) { txtNewPageIndex等于pagerRow.FindControl("txtNewPageIndex")asTextBox; } if(txtNewPageIndex!等于null) { newPageIndex等于int.Parse(txtNewPageIndex.Text)1; } } else { newPageIndex等于e.NewPageIndex; } newPageIndex等于newPageIndex<00:newPageIndex; newPageIndex等于newPageIndex>等于theGrid.PageCount?theGrid.PageCount1:newPageIndex; theGrid.PageIndex等于newPageIndex;bindgrid(); } 图5考场安排功能界面 为了准确控制考生报名的开始结束时间,防止报名时间结束后仍有考生报名,造成考试组织工作的被动,系统具有时间设置功能,在考生报名模块中根据设定的开始时间和结束时间进行控制,这样可以准确控制报名开始与结束时间[11].同时对考生成绩查询时间进行控制,超过规定时间,考生将不能登录网上报名系统.操作界面如图6所示. 图6时间设置功能界面 时间设置功能的部分代码如下: publicpartialclassadmin__system_sys_time:System.Web.UI.Page { sqlclasssql等于newsqlclass(); protectedvoidPage_Load(objectsender,EventArgse) { if(!Page.IsPostBack) { stringsqlstr1等于"select*fromxitongwhereproject等于′bktime1′"; TextBox1.Text等于sql.Readstr(sqlstr1,2); stringsqlstr2等于"select*fromxitongwhereproject等于′bktime2′"; TextBox2.Text等于sql.Readstr(sqlstr2,2); stringsqlstr3等于"select*fromxitongwhereproject等于′cxtime1′"; TextBox3.Text等于sql.Readstr(sqlstr3,2); stringsqlstr4等于"select*fromxitongwhereproject等于′cxtime2′"; TextBox4.Text等于sql.Readstr(sqlstr4,2); } } protectedvoidButton1_Click(objectsender,EventArgse) { try { stringsqlstr1等于"updatexitongsetmatter等于′"+TextBox1.Text+"′whereproject等于′bktime1′"; sql.execsql(sqlstr1); stringsqlstr2等于"updatexitongsetmatter等于′"+TextBox2.Text+"′whereproject等于′bktime2′"; sql.execsql(sqlstr2); stringsqlstr3等于"updatexitongsetmatter等于′"+TextBox3.Text+"′whereproject等于′cxtime1′"; sql.execsql(sqlstr3); stringsqlstr4等于"updatexitongsetmatter等于′"+TextBox4.Text+"′whereproject等于′cxtime2′"; sql.execsql(sqlstr4); Label1.Text等于"*修改成功!"; } catch(System.Exceptionex) { Label1.Text等于"*修改失败,系统故障!"; } }} 5结语 随着高校招生管理工作不断向信息化迈进,艺术类专业考试网上报名系统的研发,将进一步简化了招生工作流程,提高工作效率,减轻工作人员的负担,避免了由于手工操作带来的错误,保证了报名数据的准确性和时效性.系统具有操作简单、功能强大、可移植性强、扩展性强等特点,满足了高校对艺术类专业招生报名及考试管理工作的需要,具有很好的应用推广价值.
有关论文范文主题研究:
关于数据库的论文范例
大学生适用:
学士学位论文、函授论文
相关参考文献下载数量:
85
写作解决问题:
如何怎么撰写
毕业论文开题报告:
文献综述、论文小结
职称论文适用:
刊物发表、高级职称
所属大学生专业类别:
如何怎么撰写
论文题目推荐度:
最新题目
4.3时间设置