数据库课程设计报告报告-运动会成绩管理系统_第1页
数据库课程设计报告报告-运动会成绩管理系统_第2页
数据库课程设计报告报告-运动会成绩管理系统_第3页
数据库课程设计报告报告-运动会成绩管理系统_第4页
数据库课程设计报告报告-运动会成绩管理系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.数据库原理与应用课程设计说 明 书题 目: 运动会成绩管理系统 学 院: 班 级: 完成人:组号:* *:* 成绩:* *:* 成绩:指导教师:山 东 科 技 大 学2014年6月27日课 程 设 计 任 务 书一、课程设计题目:运动会成绩管理系统二、课程设计应解决的主要问题:(按实现的系统功能)(1)运动项目、运动员、运动成绩以及班级名次的记录存储(2)添加修改和删除项目表、运动员表和成绩表信息 (3)自动生成班级名次表(触发器)(4)运动员表有改动时,自动更新班级名次表(触发器)(5)成绩表有改动时自动对成绩表中记录按项目排名次(触发器) (6)成绩表自动排名自动更新班级名次表中

2、班级总分(存储过程)(7)更新班级总分之后自动对班级排名(学院名次,学校名次)(存储过程)(8)对成绩表进行初次排名功能(9)通过项目号获得相应项目的排名表(表值函数)(10)通过*或或运动号获得*学生运动成绩表(表值函数) (11)通过班级名称获得*班所有运动员运动成绩表(表值函数) (12)通过学院名称获得学院所有运动员运动成绩表(表值函数) (13)获得全校所有运动员的运动成绩表(表值函数) (14)获得全校所有班级总分数以及在学院排名和早全校排名(表值函数)任务发出日期:2014-4-25 课程设计完成日期:2014-6-27 小组分工说明小组编号题 目:运动会成绩管理系统小组分工情况

3、:*:参与数据库的讨论和设计;搜集整理数据、录入数据;设计了具体的逻辑结构,绘制E-R图;创建数据库以及项目表、运动员表、成绩表和班级名次表;实现了表之间的关联,创建必要的默认值、规则;创建了相应的索引;创建了班级名次表的视图。*:参与数据库的讨论和设计;创建*项目名次表值函数;创建触发器实现成绩表的按项目自动排名功能;创建存储过程实现班级名次表的班级总成绩的更新功能;创建存储过程实现班级名次表的排名功能;创建触发器实现运动员表改动时自动更新班级名次表的功能;创建多个表值函数用于实现不同的查询功能:项目查询函数,个人成绩查询函数,班级成绩查询函数,学院成绩查询函数,全校成绩查询函数,全校班级名

4、次查询函数。整个数据库部分的设计共创建了三个触发器,四个存储过程以及七个表值函数。另外还设计了本运动会成绩管理系统的界面部分,以及文档编辑工作。组长签字: 年 月 日指导教师对课程设计的评价成绩:指导教师签字: 年 月 日 目 录TOC o 1-2 h u HYPERLINK l _Toc6988 1 需求分析 PAGEREF _Toc6988 1 HYPERLINK l _Toc32232 11 数据事实 PAGEREF _Toc32232 1 HYPERLINK l _Toc31341 12 主要用户视图 PAGEREF _Toc31341 2 HYPERLINK l _Toc28677

5、2 概念结构设计 PAGEREF _Toc28677 2 HYPERLINK l _Toc1335 21 局部ER图 PAGEREF _Toc1335 3 HYPERLINK l _Toc32096 22 全局ER图 PAGEREF _Toc32096 3 HYPERLINK l _Toc24727 3 逻辑结构设计 PAGEREF _Toc24727 4 HYPERLINK l _Toc151214 物理结构设计 PAGEREF _Toc15121 4 HYPERLINK l _Toc10676 5 主要功能详细设计 PAGEREF _Toc10676 5 HYPERLINK l _Toc1

6、096 51 创建数据库 PAGEREF _Toc1096 5 HYPERLINK l _Toc24321 52 创建数据表 PAGEREF _Toc24321 5 HYPERLINK l _Toc13738 53 添加数据(仅以一条为例) PAGEREF _Toc13738 6 HYPERLINK l _Toc19104 54 数据库完整性 PAGEREF _Toc19104 7 HYPERLINK l _Toc6296 55 成绩表按成绩自动排名(触发器,函数,存储过程) PAGEREF _Toc6296 7 HYPERLINK l _Toc16661 56 更新 clscore 表(触发

7、器) PAGEREF _Toc16661 12 HYPERLINK l _Toc9634 57 成绩表按照项目初始名次 PAGEREF _Toc9634 13 HYPERLINK l _Toc24157 58 查询*个项目的全部成绩和排名(表值函数) PAGEREF _Toc24157 14 HYPERLINK l _Toc16316 59 查询*个班的运动员成绩(表值函数) PAGEREF _Toc16316 14 HYPERLINK l _Toc31964 510 查询*个学生的所有成绩(表值函数) PAGEREF _Toc31964 15 HYPERLINK l _Toc21999 51

8、1 查询*个学生的*个项目成绩(表值函数) PAGEREF _Toc21999 16 HYPERLINK l _Toc15569 512 查询*个学院的运动员成绩(表值函数) PAGEREF _Toc15569 16 HYPERLINK l _Toc1933 513 查询全校运动员成绩(表值函数) PAGEREF _Toc1933 17 HYPERLINK l _Toc26655 514 通过*和运动号查询成绩和名次(存储过程) PAGEREF _Toc26655 17 HYPERLINK l _Toc1862 515 创建班级成绩和名次视图 PAGEREF _Toc1862 18 HYPER

9、LINK l _Toc7601 516 创建索引 PAGEREF _Toc7601 18 HYPERLINK l _Toc7041 6 界面设计主要过程 PAGEREF _Toc7041 18 HYPERLINK l _Toc18636 6.1 界面总体设计 PAGEREF _Toc18636 19 HYPERLINK l _Toc20203 6.2 登录界面设计 PAGEREF _Toc20203 19 HYPERLINK l _Toc19455 6.3 成绩管理员界面设计 PAGEREF _Toc19455 20 HYPERLINK l _Toc14878 6.4 运动员查询界面设计 PA

10、GEREF _Toc14878 26-. z.1 需求分析本系统是用于管理运动会成绩的系统,要实现的功能就是运动会成绩的增加,修改和删除,同时还应该具有运动员和运动项目的增加修改和删除功能。本系统面向用户有两种:成绩管理员、学生运动员。管理员功能介绍管理员正确登陆后,可以增加、删除、修改、查询运动员信息,比赛项目以及比赛成绩。学生运动员主要功能介绍学生登录后,可以查询(比赛成绩、运动动员信息、运动项目)。11 数据事实数据实例12 主要用户视图用户需求成绩管理员登录(正确输入用户名及密码登录)增加、删除、修改、查询运动员信息,比赛项目以及比赛成绩学生登录(默认用户名)查询(比赛成绩、运动动员信

11、息、运动项目)2 概念结构设计学生登录管理员登入学生登录查询查询查询查询查询与修改查询与修改查询与修改基本信息查询成绩查询基本信息查询成绩查询基本信息查询成绩查询信息录入比赛成绩录入添加比赛项目添加学生信息成绩表项目表运动员表全校名次查询全校成绩查询学院成绩查询班级成绩查询项目成绩查询个人成绩查询图2.1系统边界21 局部ER图运动号性别项目二*学院学生表*项目一班级项目表项目号项目名称图1 项目表图2学生表成绩表*项目号成绩名次班级名次表班级名班级得分在学院排名在校排名图3 成绩表图4班级名次表mn22 全局ER图学生表项目表成绩表班级名次表选择排名3 逻辑结构设计关系模式如下:运动员(*、

12、性别、学院、班级、运动号、项目一、项目二)运动项目(项目号、项目名称)成绩(*、项目号、成绩、名次)班级排名(学院、班级、总成绩、在学院名次、在校名次)4 物理结构设计 学生表列名数据类型允许空说明SNO Int否学生编号SNameVarchar(50)否SDeptVarchar(50)是系别SClassNOVarchar(50)是班级SportsNO Int否运动编号项目表列名数据类型允许空说明SportsNOInt否项目编号SportsNameVarchar(50)否项目名称项目成绩表列名数据类型允许空说明SNOInt否学生编号SportsNOInt否项目编号ScoreVarchar(50

13、)否成绩Srankint否名次班级名次表列名数据类型允许空说明sdeptnameVarchar(20)是学院sclassnameVarchar(20)否班级sclscoreint是总分sclrankindeptint是 学院名次sclrankinschint是 学校名次5 主要功能详细设计51 创建数据库CREATEDATABASEsportsON (NAME=运动会数据,FILENAME=D:SQLsports.MDF,SIZE= 10MB,MA*SIZE= 100MB)LOGON (NAME=运动会数据日志,FILENAME=D:SQLsports_Log.LDF,SIZE= 5MB,MA

14、*SIZE= 25MB)52 创建数据表1、 创建项目表usesportscreatetablesp(sportnointNOTNULLPRIMARYKEY,sportnamevarchar(30)notnull)2、 创建学生表createtablestu(snointNOTNULLPRIMARYKEY,snamevarchar(10)notnull,sdeptvarchar(20),sclassnamevarchar(20),sse*varchar(2),spnointnotnullunique,sportno1intforeignkeyreferencessp(sportno)notnu

15、ll,sportno2intforeignkeyreferencessp(sportno)3、 创建成绩表全体运动员的各个项目的成绩表createtablesc(snointFOREIGNKEYreferencesstu(sno),sportnointFOREIGNKEYreferencessp(sportno),scorevarchar(10),srankintprimarykey (sno,sportno)4、 创建名次表记录全校所有班级的得分以及在学院的名次和在全校的名次createtableclscore(sdeptnamevarchar(20),-学院名sclassnamevarch

16、ar(20)primarykey,-班级名称sclscoreint,-班级成绩sclrankindeptint,-班级在学院中的名次sclrankinschint-班级在学校中的名次)53 添加数据(仅以一条为例)1、 添加运动项目表记录usesportsinsertintospvalues(1,男子一百),(2,男子二百)2、 添加学生表记录usesportsinsertintostuvalues(10103,浩,数学,数学一班,男,10001,1,3),(10105,钱浩,数学,数学一班,男,10002,2,4)3、 添加比赛成绩表记录usesportsinsertintosc(sno,s

17、portno,score)values(10103,1,12.2)54 数据库完整性1、 绑定列上默认值usesportsgocreatedefaultsse*as男goe*ecsp_bindefaultsse*,stu.sse*go2、 绑定规则createrulerule_sportnoasc1between 1 and 12gocreaterulerule_snoasc1between 10101 and 40340goe*ecsp_bindrulerule_sportno,sp.sportnogoe*ecsp_bindrulerule_sno,stu.snogo55 成绩表按成绩自动排

18、名(触发器,函数,存储过程)功能简介:当sc 表有成绩插入删除或者修改时就触发,实现对sc表中单项目名次nrank属性的及时更新,更新完之后,调用存储过程,实现对clscore表中班级成绩和班级排名的更新。551 更新项目名次触发器-触发器及时更新 sc 表-当有成绩插入删除或者修改sc 表时就触发-实现对sc表中单项目名次nrank属性的及时更新usesportsgo插入更新与删除操作sc 表ife*ists(select*fromsysobjectswherename=trSCandtype=TR)droptriggertrSCgocreatetriggertrSConscafterins

19、ert,update,deleteasdeclaresportno0int,sno0int,sportno1int,sportno2intselectsno0=sno,sportno0=sportnofrominsertedselectsportno1=sportno1,sportno2=sportno2fromstuwheresno=sno0ifsportno0notin(sportno1,sportno2)-if sportno0!=sportno1 and sportno0!=sportno2beginprint操作有误,此记录与运动员表不一致,请先修改运动员表!rollbackende

20、lsebegin-更新名次-声明变量declaresnoint,sportnoint,rankintdeclareiu_scSportno_cursorCURSORforselectsportnofromspopeniu_scSportno_cursorfetchne*tfromiu_scSportno_cursorintosportnowhilefetch_status= 0beginsetrank= 1-声明游标declareiu_sc_cursorCURSORforselectsnofromscRankFun(sportno)-打开游标openiu_sc_cursor-提取第一行fetc

21、hne*tfromiu_sc_cursorintosnowhileFETCH_STATUS= 0beginupdatescsetsrank=rankwheresno=snoandsportno=sportnosetrank=rank+ 1fetchne*tfromiu_sc_cursorintosnoendcloseiu_sc_cursordeallocateiu_sc_cursorfetchne*tfromiu_scSportno_cursorintosportnoendcloseiu_scSportno_cursordeallocateiu_scSportno_cursorend执行存储过

22、程updateClscore,更新clscore 表e*ecupdateClscoregoGo测试代码及截图如下:552 计算班级总成绩存储过程存储过程:当sc 表名次有变动时,及时更新clscore表中的班级总成绩当sc 表有更新时,及时更新clscore表中每个班的总分数usesportsgoife*ists(select*fromsysobjectswherename=updateClscoreandtype=P)dropprocedureupdateClscoregocreateprocedureupdateClscoreasbegindeclareclassnamevarchar(2

23、0),srankint,srankTotalintdeclarecursor_classcursorforselectsclassnamefromstugroupbysclassnameopencursor_classfetchne*tfromcursor_classintoclassnamewhileFETCH_STATUS= 0beginsetsrankTotal= 0declarecursor_srankcursorforselectsrankfromscwheresnoin(selectsnofromstuwheresclassname=classname)opencursor_sra

24、nkfetchne*tfromcursor_srankintosrankwhileFETCH_STATUS= 0beginifsrank 8setsrankTotal=srankTotal+(8-srank)elsesetsrankTotal=srankTotal+0fetchne*tfromcursor_srankintosrankendupdateclscoresetsclscore=srankTotalwheresclassname=classnameclosecursor_srankdeallocatecursor_srankfetchne*tfromcursor_classintoc

25、lassnameendclosecursor_classdeallocatecursor_class执行存储过程,更新clscore表,进行班级排名e*ecupdateClscore_rankendGo测试代码及截图如下:553 班级排名存储过程存储过程:更新clscore表,对clscore表中的班级总成绩分别按学院和学校排名次存储过程,更新clscore表,进行班级排名usesportsife*ists(select*fromsysobjectswherename=updateClscore_rankandtype=p)dropprocupdateClscore_rankgocreatep

26、rocupdateClscore_rankasbegindeclaredeptvarchar(20),classvarchar(20),rankint在学院排名次declarecursor_deptcursorforselectsdeptnamefromclscoregroupbysdeptnameopencursor_deptfetchne*tfromcursor_deptintodeptwhileFETCH_STATUS= 0beginsetrank= 1declarecursor_classcursorforselectsclassnamefromclscorewheresdeptnam

27、e=deptorderbysclscoredescopencursor_classfetchne*tfromcursor_classintoclasswhileFETCH_STATUS= 0beginupdateclscoresetsclrankindept=rankwheresclassname=classsetrank=rank+ 1fetchne*tfromcursor_classintoclassendclosecursor_classdeallocatecursor_classfetchne*tfromcursor_deptintodeptendclosecursor_deptdea

28、llocatecursor_dept在学校排名次declarecursor_classcursorforselectsclassnamefromclscoreorderbysclscoreopencursor_classfetchne*tfromcursor_classintoclasssetrank= 1whileFETCH_STATUS= 0beginupdateclscoresetsclrankinsch=rankwheresclassname=classsetrank=rank+ 1fetchne*tfromcursor_classintoclassendclosecursor_cla

29、ssdeallocatecursor_classendGo554 项目排名表值函数*项目排名函数 表值函数-输入:*个项目的编号-输出:此项目的排序后的运动员*顺序表usesportsgoife*ists(select*fromsysobjectswherename=scRankFunandtype=TF)dropfunctionscRankFungocreatefunctionscRankFun(sportnoint)returnssttable(snoint,sportnoint)asbeginifsportnoin(3,4,8,10)begininsertstselectsno,spor

30、tnofromscwheresportno=sportnoorderbyscoredescendelsebegininsertstselectsno,sportnofromscwheresportno=sportnoorderbyscoreendreturnendGo56 更新 clscore 表(触发器)触发条件:当运动员表stu 有变动时,触发功能:根据运动员表stu中的信息,更新 clscore 表中的学院名和班级名usesportsgoife*ists(select*fromsysobjectswherename=trClscoreSTUandtype=TR)droptriggertr

31、ClscoreSTUgo当stu 表有变动时,及时更新createtriggertrClscoreSTUonstuafterinsert,update,deleteasbegindeclaresdeptnamevarchar(20),sclassnamevarchar(20)declarestuSclassname_cursorcursorforselectsdept,sclassnamefromstuopenstuSclassname_cursorfetchne*tfromstuSclassname_cursorintosdeptname,sclassnamewhilefetch_statu

32、s= 0beginifnote*ists(select*fromclscorewheresclassname=sclassname)insertintoclscore(sdeptname,sclassname)values(sdeptname,sclassname)fetchne*tfromstuSclassname_cursorintosdeptname,sclassnameendclosestuSclassname_cursordeallocatestuSclassname_cursorendgogo57 成绩表按照项目初始名次usesports-声明变量godeclaresnoint,s

33、portnoint,countspintsetsportno= 1selectcountsp=COUNT(*)fromspwhilesportno=countsp-所有项目均要排名begindeclarerankintsetrank= 1-声明游标declaresc_cursorCURSORforselectsnofromscRankFun(sportno)-打开游标opensc_cursor-提取第一行fetchne*tfromsc_cursorintosnowhileFETCH_STATUS= 0beginusesportsupdatescsetsrank=rankwheresno=sno

34、setrank=rank+ 1fetchne*tfromsc_cursorintosnoendclosesc_cursordeallocatesc_cursorsetsportno=sportno+ 1endGo58 查询*个项目的全部成绩和排名(表值函数)输入:项目号输出:此项目的所有运动员的*,成绩,名次,班级,学院 表值函数实现下面的查询功能-查询*个项目的全部成绩和排名usesportsife*ists(select*fromsysobjectswherename=spFunandtype=TF)dropfunctionspFungocreatefunctionspFun(sportn

35、oint)returnssttable(*int,varchar(20),成绩varchar(20),名次int,班级varchar(20),学院varchar(20)asbegininsertintostselectstu.sno,stu.sname,sc.score,sc.srank,stu.sclassname,stu.sdeptfromsturightjoinscon(stu.sno=sc.sno)wheresc.sportno=sportnoorderbysrankreturnendgo测试程序select*fromspFun(1)59 查询*个班的运动员成绩(表值函数)输入:班级名

36、输出:此班级的所有运动员的*,项目,成绩,名次 -查询*个班的运动员成绩usesportsife*ists(select*fromsysobjectswherename=classFunandtype=TF)dropfunctionclassFungocreatefunctionclassFun(sclassnamevarchar(20)returnssttable(*int,varchar(20),项目varchar(20),成绩varchar(20),名次int)asbegininsertintostselectstu.sno,stu.sname,a.sportname,a.score,a

37、.srankfromsturightjoin(selectsno,sportname,score,srankfromscleftjoinspon(sc.sportno=sp.sportno)aon(stu.sno=a.sno)wherestu.sclassname=sclassnamereturnendgo测试程序select*fromclassFun(数学二班)510 查询*个学生的所有成绩(表值函数)输入:类型和*或运动号或输出:此运动员的*,项目,成绩,名次 -查询*个学生的所有成绩usesportsife*ists(select*fromsysobjectswherename=stuF

38、unandtype=TF)dropfunctionstuFungocreatefunctionstuFun(kindint,namevarchar(20)returnssttable(*int,varchar(20),项目varchar(20),成绩varchar(20),名次int)asbegindeclaresnointifkind=1 setsno=cast(nameasint)elseifkind=2 selectsno=snofromstuwheresname=nameelseselectsno=snofromstuwherespno=nameinsertintostselecta.

39、sno,stu.sname,a.sportname,a.score,a.srankfrom (selectsno,score,srank,sportnamefromscleftjoinspon(sc.sportno=sp.sportno)arightjoinstuon(a.sno=stu.sno)wherestu.sno=snoreturnendgo测试程序select*fromstuFun(1,10103)511 查询*个学生的*个项目成绩(表值函数)输入:*,运动号输出:此运动员的*,项目,成绩,名次 -查询*个学生的*个项目成绩usesportsife*ists(select*froms

40、ysobjectswherename=stuspFunandtype=TF)dropfunctionstuspFungocreatefunctionstuspFun(snoint,sportnoint)returnssttable(*int,varchar(20),项目varchar(20),成绩varchar(20),名次int)asbegininsertintostselecta.sno,stu.sname,a.sportname,a.score,a.srankfrom (selectsno,score,srank,sportname,sc.sportnofromscleftjoinspo

41、n(sc.sportno=sp.sportno)arightjoinstuon(a.sno=stu.sno)wherestu.sno=snoanda.sportno=sportnoreturnendgo测试程序select*fromstuspFun(10103,1)512 查询*个学院的运动员成绩(表值函数)输入:学院名输出:此学院所有运动员的*,项目,成绩,名次,班级-查询*个学院的运动员成绩usesportsife*ists(select*fromsysobjectswherename=sdeptFunandtype=TF)dropfunctionsdeptFungocreatefunct

42、ionsdeptFun(sdeptnamevarchar(20)returnssttable(*int,varchar(20),项目varchar(20),成绩varchar(20),名次int,班级varchar(20)asbegininsertintostselecta.sno,stu.sname,a.sportname,a.score,a.srank,stu.sclassnamefromsturightjoin(selectsno,sportname,score,srankfromscleftjoinspon(sc.sportno=sp.sportno)aon(stu.sno=a.sno

43、)wherestu.sdept=sdeptnameorderbya.snoreturnendgo测试程序select*fromsdeptFun(计算机)513 查询全校运动员成绩(表值函数)输入:无输入输出:学校全体运动员的*,项目,成绩,名次,班级,学院 -查询全校运动员成绩usesportsife*ists(select*fromsysobjectswherename=schFunandtype=TF)dropfunctionschFungocreatefunctionschFun()returnssttable(*int,varchar(20),项目varchar(20),成绩varch

44、ar(20),名次int,班级varchar(20),学院varchar(20)asbegininsertintostselecta.sno,stu.sname,a.sportname,a.score,a.srank,stu.sclassname,stu.sdeptfromsturightjoin(selectsno,sportname,score,srankfromscleftjoinspon(sc.sportno=sp.sportno)aon(stu.sno=a.sno)orderbya.snoreturnendgo测试程序select*fromschFun()514 通过*和运动号查询成

45、绩和名次(存储过程)输入:*,运动号输出:,成绩,名次usesportsgoife*ists(select*fromsysobjectswherename=stuScoreandtype=P)dropprocedurestuScoregocreateprocedurestuScore(snoint,sportnoint,snamevarchar(10)output,stuScorevarchar(10)output,stuRankintoutput)asselectsname=snamefromstuwheresno=snoselectstuScore=score,stuRank=srankf

46、romscwheresno=snoandsportno=sportnogoGo515 创建班级成绩和名次视图usesportsife*ists(select*fromsysobjectswherename=view_clscoreandtype=v)dropviewview_clscoregocreateviewview_clscoreasselectsdeptnameas学院,sclassnameas班级,sclscoreas总分,sclrankindeptas学院名次,sclrankinschas学校名次fromclscoreGo测试程序select*fromview_clscore516

47、 创建索引usesportsife*ists(select*fromsysinde*eswherename=ID*_sc)dropinde*sc.ID*_scgocreateinde*ID*_sconsc(sportno,srank)Go6 界面设计主要过程为了使用户的使用更加方便,同时也为了增加对数据库的保护,尽量减少用户可以直接更改数据库的机会,所以加入了运动会成绩管理系统的界面部分。6.1 界面总体设计界面所面向用户:由于本系统所面对的不同用户有成绩管理员和学生,所以应该开发出面向着两种用户的使用界面。针对不同的用户,他们所需要的操作也是不同的,所以下面需要根据不同的用户身份登录,设计不

48、同的界面,实现不同的功能。成绩管理员具有最高的管理权限,是成绩信息的管理者。管理员具有所有运动项目的管理,所有学生运动员的管理,同时也应该具有对所有运动成绩记录的管理。学生运动员的主要功能就是查询功能,可以查询*个运动员,班,项目,学院或者整个学校的比赛成绩信息和名次情况。6.2 登录界面设计登录界面应该是面向上述两种不同用户开发的,所以应该有区分他们的身份的按钮,以及用户的登录信息输入框,依此来核对用户的登录信息是否正确,判断是否让用户进入系统。核对登录信息的主要代码如下: private void button1_Click(object sender, EventArgs e) stri

49、ng name = te*tBo*1.Te*t; string poss = te*tBo*2.Te*t; if (name = luozaicc & poss = 123456 & this.radioButton1.Checked = true) FirstForm firstForm = new FirstForm(1); firstForm.ShowDialog(); else if(this.radioButton2.Checked = true) FirstForm firstForm = new FirstForm(0); firstForm.ShowDialog(); else

50、 MessageBo*.Show(登录信息不正确,请重新输入!); 界面如下:6.3 成绩管理员界面设计成绩管理员主界面包含三个 boBo* 分别对应信息录入,成绩查询与修改和基本信息查询。管理员选择每一个boBo* 中不同的选项,管理不同的表。(1)下面主要介绍一下成绩查询及修改的相关设计和代码。private void boBo*2_SelectedInde*Changed(object sender, EventArgs e) string str = this.boBo*2.Te*t; if (str.Equals(个人成绩查询)/ 1 StuForm stuform = new St

51、uForm(root); stuform.ShowDialog(); if (str.Equals(项目成绩查询)/ 2 SpForm spform = new SpForm(root); spform.ShowDialog(); if (str.Equals(班级成绩查询)/ 3 ClaForm claForm = new ClaForm(root); claForm.ShowDialog(); if (str.Equals(学院成绩查询)/ 4 DeptForm deptForm = new DeptForm(root); deptForm.ShowDialog(); if (str.Eq

52、uals(全校成绩查询)/ 5 SchForm schForm = new SchForm(root); schForm.ShowDialog(); if (str.Equals(全校班级排名)/ 6 ClaRankForm claRankForm = new ClaRankForm(root); claRankForm.ShowDialog(); 1、假设此时管理员选择了项目成绩查询,则会出现项目表的查询界面如下:(6-1) (6-2)管理员可以输入查询的项目号,查询每一个项目的信息,并且可以通过直接修改成绩实现名次的更新,比较图(6-1)和(6-2)中选定的行,可以看到成绩变动后名次的自动更新。相关代码如下:privatevoid button2_Click(object sender, EventArgs e) DataTable dt0 = dt;if (dt = null) return;string sno, score

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论