足球运动员信息管理系统.doc_第1页
足球运动员信息管理系统.doc_第2页
足球运动员信息管理系统.doc_第3页
足球运动员信息管理系统.doc_第4页
足球运动员信息管理系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

足球运动员信息管理系统本案例实现一个小型的足球运动员信息管理系统。完成的功能:球队管理、球员管理、联赛管理、赛绩管理以及系统管理员才具有的主教练管理和用户管理。 1.球队管理:可对球队进行添加、删除、修改、查找等功能,球队属性有:名称、主教练(来自于系统中保存的教师)、当前球员人数、建队日期和备注等属性。 2.球员管理:可对球员进行添加、删除、修改、查找等功能,球员属性有:球衣号、姓名、性别、所属球队(来自于系统中保存的球队)、相片、出生日期和备注等属性。 3.比赛管理:可对训练项目进行添加、删除、修改、查找和等功能,科目属性有:项目目名称、积分数和备注等属性。 4.日程管理:可对每一个球队参与的比赛进行添加、删除、修改、查找功能,日程属性有:所属球队(来自于系统中保存的球队)、主教练(来自于系统中保存的教师)、开始日期、结束日期和备注等属性。 5.赛绩管理:可对每一个球队的赛绩进行添加、删除、修改、查找等功能,赛绩属性有:球员姓名、所属球队(来自于系统中保存的球队)、比赛名、进球数、备注等属性。分析 根据系统的功能划分和实现的方便,我们将整个程序分为三层:数据层、业务层和界面层。数据层负责对数据库进行操作,包括向表中插入数据、更新数据、查询数据和删除数据。业务层负责把界面上的各种操作传达给数据层。界面层主要负责界面的设计,包括控件的位置和外观等设置、实时反映系统的变化情况。数据库表的设计 根据程序的功能得出数据实体,进行数据库设计分析,确定以下数据表,如图所示:1.教练表(Coach)2.比赛表(Match)3.球员表(Player)4.赛程表(Race)5.赛绩表(Score)6.球队表(Team)7.用户表(User)主要代码:Team.cs(BusinessRuler)using System;using System.Windows.Forms;using DataAccess;using System.Data.SqlClient;using System.Collections;using System.Data;namespace BusinessRuler public class Team private DataGridView _dgvTeam; public Team(DataGridView dgv) _dgvTeam = dgv; public Team() /验证系统?是?否?有瓺球队 public static bool IsTeamExists() if (DataAccess.Team.IsTeamExists().HasRows) return true; else MessageBox.Show(目?前还1没?有瓺球队,?请?首骸?先创洹?建球队, 错洙?误, MessageBoxButtons.OK, MessageBoxIcon.Information); return false; /验证该?队是?否?有瓺球员 public bool IsPlayerExists(string teamName) DataAccess.Team objTeam = DataAccess.Team.CreateInstance(teamName); if (objTeam.CurrentCount 0) return true; else MessageBox.Show(该?班悒?目?前还1没?有瓺学生?,?无T法?进?行D战?绩管理?,?请?首骸?先添?加学生?!?, 错洙?误, MessageBoxButtons.OK, MessageBoxIcon.Information); return false; /验证该?队球员人?数簓是?否?已?超?过y额?定 public static bool isInCapacity(string teamName) int playerCapacity = Convert.ToInt32(BusinessRuler.ReaderWirteConfig.GetValueByKey(PlayerCapaticyInTeam); DataAccess.Team objTeam = DataAccess.Team.CreateInstance(teamName); if (objTeam.CurrentCount = playerCapacity) MessageBox.Show(该?队球员人?数簓已?满!?, 错洙?误, MessageBoxButtons.OK, MessageBoxIcon.Error); return false; return true; /验证球队名?是?否?已?存?在 public static bool CheckExists(string teamName) return DataAccess.Team.CheckExists(teamName).HasRows; /检查该?球队是?否?已?开a赛? public bool IsRaceExist(string teamName) DataAccess.Team objTeam = new DataAccess.Team(teamName); if (objTeam.FillByAllMatchName().Tables0.Rows.Count 0) return true; else MessageBox.Show(teamName + 球队尚无T赛?程,?无T法?进?行D赛?绩管理?,?请?先添?加赛?程!?, 错洙?误, MessageBoxButtons.OK, MessageBoxIcon.Error); return false; /更新?数簓据Y网?格?的?显?示? public void UpdateDataGrid() if (this._dgvTeam != null) DataSet objDataSet = DataAccess.Team.FillByAllTeam(); this._dgvTeam.DataSource = objDataSet.Tables0; /添?加球队 public void AddTeam(string teamName, string coach, DateTime entranceDate, string remark) /首骸?先判D断?球队名?称?是?否?已?存?在 if (CheckExists(teamName) MessageBox.Show(球队名? + teamName + 已?存?在,?请?重?新?输?入?球队名?!?, 球队名?已?存?在, MessageBoxButtons.OK, MessageBoxIcon.Error); else if (DataAccess.Team.CreateTeam(teamName, coach, entranceDate, remark) 0) UpdateDataGrid(); MessageBox.Show(成功|添?加球队!?, 操作痢?成功|, MessageBoxButtons.OK, MessageBoxIcon.Information); /修T改?球队 public void ModifyTeam(string teamName, string coach, DateTime entranceDate, string remark) DataAccess.Team objTeam = new DataAccess.Team(teamName); objTeam.Coach = coach; objTeam.EntranceDate = entranceDate; objTeam.Remark = remark; if (objTeam.Update() 0) UpdateDataGrid(); MessageBox.Show(修T改?球队资哩?料?成功|!?, 操作痢?成功|, MessageBoxButtons.OK, MessageBoxIcon.Information); /删?除y球队 public void DeleteTeam(string teamName) if (!CheckExists(teamName) MessageBox.Show(球队名? + teamName + 不?存?在,?请?重?新?输?入?球队名?!?, 球队名?不?存?在, MessageBoxButtons.OK, MessageBoxIcon.Error); else if (DialogResult.Yes = MessageBox.Show(真?的?要癮删?除y球队 + teamName + 吗e?n 删?除y该?队时骸?,?将?同?时骸?删?除y该?队所有瓺球员的?档苔?案?及相关?赛?程、赛?绩的?记?录?,?确?定要癮继续?吗e??, 删?除y确?认?, MessageBoxButtons.YesNo, MessageBoxIcon.Question) DataAccess.Team objTeam = new DataAccess.Team(teamName); if (objTeam.Delete() 0) UpdateDataGrid(); MessageBox.Show(成功|删?除y球队 + teamName + !, 操作痢?成功|, MessageBoxButtons.OK, MessageBoxIcon.Information); public void FillCboByAllTeamName(ComboBox cbo, int position) cbo.Items.Clear(); DataTable teamNames = DataAccess.Team.GetAllTeamName(); foreach (DataRow row in teamNames.Rows) cbo.Items.Add(row0.ToString(); cbo.SelectedIndex = position; public void FillCboByAllTeamName(ComboBox cbo, string theTeamName) cbo.Items.Clear(); int position = 0; int i = 0; DataTable teamNames = DataAccess.Team.GetAllTeamName(); foreach (DataRow row in teamNames.Rows) cbo.Items.Add(row0.ToString(); if (row0.ToString().Equals(theTeamName) position = i; i+; cbo.SelectedIndex = position; /查找球队 public static void FindByTeamName(DataGridView dgv, string teamName) for (int row = 0; row dgv.Rows.Count; row+) if (dgv.Rowsrow.CellscolTeamName.Value.ToString().Equals(teamName) dgv.Rowsrow.Selected = true; return; MessageBox.Show(已?到?记?录?末?尾2!?, 结果?, MessageBoxButtons.OK, MessageBoxIcon.Information); /按恪?教练?查找 public static void FindByCoach(DataGridView dgv, string coach, bool useMatch) for (int row = Int32.Parse(dgv.Tag.ToString(); row dgv.Rows.Count; row+) bool condition = dgv.Rowsrow.CellscolCoach.Value.ToString().Equals(coach); if (useMatch) condition = dgv.Rowsrow.CellscolCoach.Value.ToString().Contains(coach); if (condition) dgv.Rowsrow.Selected = true; dgv.Tag = (row + 1).ToString(); return; MessageBox.Show(已?到?记?录?末?尾2!?, 结果?, MessageBoxButtons.OK, MessageBoxIcon.Information); dgv.Tag = 0; /按恪?建队日?期查找 public static void FindByDate(DataGridView dgv, DateTime startDate, DateTime finishDate) for (int row = Int32.Parse(dgv.Tag.ToString(); row = startDate & dateValue 0 ; SqlCommon sqlcomm = new SqlCommon(); SqlDataReader reader = sqlcomm.ExecuteReader(strSql, new SqlParameter(teamName, _teamName); return reader; /检查球队名?是?否?已?存?在 public static SqlDataReader CheckExists(string teamName) string strSql = select * from Team where teamName = teamName; SqlCommon sqlcomm = new SqlCommon(); SqlDataReader reader = sqlcomm.ExecuteReader(strSql, new SqlParameter(teamName, teamName); return reader; /得?到?所有瓺球队的?记?录? public static DataSet FillByAllTeam() string strSql = select * from Team; SqlCommon sqlcomm = new SqlCommon(); DataSet ds = sqlcomm.CreaDataSet(strSql, null); return ds; /获?取?球队所有瓺学生?的?集合? public DataSet FillByAllPlayer() string strSql = select PlayerNo,PlayerName,Gender,Birthday,Remark from Player where TeamName = teamName; SqlCommon sqlcomm = new SqlCommon(); DataSet ds = sqlcomm.CreaDataSet(strSql, new SqlParameter(teamName, _teamName); return ds; public DataTable GetAllPlayerNo() string strSql = select PlayerNo from Player where TeamName = teamName; SqlCommon sqlcomm = new SqlCommon(); DataSet ds = sqlcomm.CreaDataSet(strSql, new SqlParameter(teamName, _teamName); return ds.Tables0; /得?到?指?定球队所有瓺赛?程信?息的?记?录? public DataSet FillByAllRace() string strSql = select MatchName,Coach,BeginDate,FinishDate,Remark from Race where TeamName = te

温馨提示

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

评论

0/150

提交评论