数据库实验:利用Microsoft Visual Studio C#的EF框架和MySql数据库建立一个简单的无服务器的体操赛事管理系统。
体操赛事系统是一个管理体操比赛的信息系统。
体操比赛按照年龄分为7-8,9-10,11-12 岁组,每个年龄组又分男,女。体操比赛先有各个代表队报名,管理人员按照各个代表对的人数,人工编排比赛场次。(即哪些队员一组,每组大概 8 人左右)。
比赛分为初赛和决赛。初赛首先进行的是各个组的各个单项比赛(小组的人员名单就是前面编排员预先编号的名单,包括出场顺序)。
男子单项分为:单杠、双杠、吊环、跳马、自由体操、鞍马和蹦床,女子分为跳马、高低杠、平衡木、自由体操和蹦床。
男女单项比赛完毕,然后由单项比赛成绩生成团体名次和个人全能名次。
系统管理员为每一个代表队设置代表队名称、账号和缺省密码;
系统管理员设置比赛的类型,比如 6,5,4。每个代表队分别在男、女各个年龄组最多报 6 个运动员,每次比赛 5 个运动员上场,团体成绩计算前 4 名。如果一个队没有 4 人参加则不参与计算团体成绩。
每一个代表队登陆进报名系统,系统自动显示当前代表对的名称,
每一个代表队必须录入的信息如下:
(1)领队和队医的信息:姓名、身份证、电话;
(2)运动员信息:姓名、身份证、年龄,组别、运动员文化成绩(此项空缺,比赛完毕后有专门人员录入),参与的比赛项目(多选);
(3)教练员信息:姓名、电话、性别、身份证号;
(4)裁判员信息:姓名、身份证号码、电话。
其中领队、队医和运动员信息必须填写,整个代表对上传一份附件,该 附件包含每个运动员的身份证、健康证明、保险购买文件)。
运动员报名完毕,系统自动为每个运动员生成运动员号码,从 000 到 999,女运动员为双号,男运动员为单号,东道主排在最后。
赛事管理人员根据报名情况,生成预赛赛事表,即每一个单项的分组情况,(有可能,一个单项包含好几组)。
此处人工编排,将编排结果录入系统。
每一个比赛类型(比如男子单杠)的每一组(已提前编排)在比赛前,通过 系统设置本场比赛的裁判。每一个裁判用自己的名字和账号登陆比赛系统。
(移动终端)的每一个运动员在比赛前,比赛控制人员发出打分指令,该指令通知裁判当前运动员的名称、编号。
运动员比赛完毕,裁判员用移动终端打分,并确认分数送至小组总裁判那儿如果小组总裁判确认没问题,点击通过,否则选择相应的裁判重新打分。
当小组总裁判通过后输入 D 分(奖励分)和 P 分(惩罚分,按照下面的公式,计算运动员的最后得分。每场比赛最多有 5 个裁判。
当小组裁判长确认比赛成绩后,系统在大屏幕上输出每个运动员的总成绩,D 分,P 分和名次。
总成绩 = 去掉最高分和最低分的平均分 * 裁判数 + D - P
初赛完毕后,系统分别计算出每个类别的团体成绩、个人全能成绩,以及单 项决赛名次,并自动生成决赛信息。
决赛的比赛过程和初赛一样,生成运动员单项决赛的名次。
-
Microsoft Visual Studio 2017
-
C#
-
MySql
注:MySql中不要新建同名数据库
-
请在App.config文件添加如下内容
<connectionStrings> <add name="GymCompetitionDataBase" connectionString="server=localhost; user id=root; password=password; database=db_gymcompetition" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
user id 和 password 请根据MySql账号密码填写
-
依照App.config文件添加相同的依赖包,注意版本
-
先启动GymCompetitionTest项目,利用EF框架生成数据库后,再运行GymCompetitionForm窗体项目。如果修改了数据库属性,需要删掉数据库后重新运行GymCompetitionTest项目