• 排球计分程序重构


    需求:作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。(满意条件:每一次比分的改变,都要形成一条记录)。

    计划:估计此次工作需要两周的时间。

    需求分析:每次计分的时候都会产生一条记录,并且有详细的比分情况,此次新加了一个精确到得分选手,需要对数据库新加表,并建立外键。而且之前的数据结构需要变化一下。

    类图

    流程图

    程序截图:

    代码:

    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 = 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 = 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;
            }

    代码复审正在进行,此次还是有些地方比如业务逻辑层并没有处理好,可以通过传参数的方法。但是遇到一个问题,数据库的表的外键不知道怎么去创建,所以部分地方不太完美,表没有真正的连接起来。

  • 相关阅读:
    团队第二阶段冲刺——第三天
    团队第二阶段冲刺——第二天
    团队第二阶段冲刺——第一天
    第一阶段意见汇总
    团队第一次绩效考核
    我们与同类产品的差距
    团队项目第一阶段成果评价
    第一阶段验收成果总结
    团队冲刺第十天
    团队冲刺第九天
  • 原文地址:https://www.cnblogs.com/colorful-Ji/p/6569207.html
Copyright © 2020-2023  润新知