首页 > 代码库 > 排球计分程序重构
排球计分程序重构
需求:作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。(满意条件:每一次比分的改变,都要形成一条记录)。
计划:估计此次工作需要两周的时间。
需求分析:每次计分的时候都会产生一条记录,并且有详细的比分情况,此次新加了一个精确到得分选手,需要对数据库新加表,并建立外键。而且之前的数据结构需要变化一下。
类图:
流程图:
程序截图:
代码:
UI层 volleyBll bll = new volleyBll(); private void xiangxibifen_Load(object sender, EventArgs e) { dataGridView1.DataSource= bll.selectxiangxidefen(); DataTable dt = bll.selectxiangxidefen(); for (int i = 0; i <dt.Rows.Count;i++) { int j=0; if (dt.Rows[i][2] == DBNull.Value) { continue; } else { j= Convert.ToInt32(dt.Rows[i][2]); } dataGridView1.Rows[i].Cells[0].Value = http://www.mamicode.com/bll.selecxuanshou(j, 1); } for (int i = 0; i < dt.Rows.Count; i++) { int k = 0; if (dt.Rows[i][4] == DBNull.Value) { continue; } else { k = Convert.ToInt32(dt.Rows[i][4]); } dataGridView1.Rows[i].Cells[1].Value = http://www.mamicode.com/bll.selecxuanshou(k, 7); } }
BLL public DataTable selectxiangxidefen() { return dal.Selectxiangxidefen(); } public string selecxuanshou(int serialnum, int team) { return dal.selecxuanshou(serialnum,team); }
Dal public DataTable Selectxiangxidefen() { string sql = "select * from score"; DataTable dt = SqlHelper.ExecuteDataTable(sql); return dt; } public string selecxuanshou(int serialnum, int team) { string duiyuan = ""; string sql = "select name ,dute from team where serialnum=@serialnum and teamnum=@team "; SqlParameter[] pms ={ new SqlParameter("@serialnum",serialnum), new SqlParameter("@team",team) }; SqlDataReader reader = SqlHelper.ExecuteReader(sql, pms); if (reader.HasRows) { while (reader.Read()) { duiyuan = reader[0].ToString() + reader[1].ToString(); } } return duiyuan; }
代码复审正在进行,此次还是有些地方比如业务逻辑层并没有处理好,可以通过传参数的方法。但是遇到一个问题,数据库的表的外键不知道怎么去创建,所以部分地方不太完美,表没有真正的连接起来。
排球计分程序重构
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。