zoukankan      html  css  js  c++  java
  • 排球计分程序重构

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

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

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

    类图

    流程图

    程序截图:

    代码:

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

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

  • 相关阅读:
    csrf 跨站请求伪造
    apache 根据端口访问配置
    对于表单中单双引号问题
    svn常用命令
    urlencode和rawurlencode的区别
    php 显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前
    javaweb基础(24)_jsp一般的标签开发
    javaweb基础(23)_jsp自定义标签
    javaweb基础(22)_Servlet+JSP+JavaBean实战登陆
    javaweb基础(21)_两种开发模式
  • 原文地址:https://www.cnblogs.com/colorful-Ji/p/6569207.html
Copyright © 2011-2022 走看看