代码改变世界

排球积分程序

2017-03-17 21:50  lyx1212  阅读(195)  评论(0编辑  收藏  举报

排球比赛计分程序

 

计划

        估计此程序需要2周

  • 开发
  • 需求分析

                用户故事:作为一个排球计分人员,我希望知道每场比赛队伍得分和积分情况,以便于计分给每队进行排名。

  

  •  设计复审:

                将编写的程序进行生成进行设计复审修改代码。

  • 代码规范:

                利用VS2010对该程序进行代码规范。

  public static object ExecuteScalar(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    if (pms != null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    con.Open();
                    return cmd.ExecuteScalar();
                }
            }
        }

 


        
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
        {
            SqlConnection con = new SqlConnection(constr);
            using (SqlCommand cmd = new SqlCommand(sql, con))
            {
                if (pms != null)
                {
                    cmd.Parameters.AddRange(pms);
                }

                try
                {
                    con.Open();
                    return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                    
                }
                catch (Exception)
                {
                    con.Close();
                    con.Dispose();
                    throw;  
            }

        }

 

        
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
        {
            DataTable dt = new DataTable(); 
            using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))
            {
                if (pms != null)
                {                 
                    adapter.SelectCommand.Parameters.AddRange(pms);
                }
                adapter.Fill(dt);
            }
            return dt;
        }
    }
}

 

namespace Model
{
    public class SingleBall
    {
        public int BallNum { get; set; }    
        public string GetTeam { get; set; }
        public int WinTeamScore { get; set; }   
        public int LoseTeamScore { get; set; }
        public int GetMemberNum { get; set; }
        public string HowGet { get; set; } 
        public int LoseMemberNum { get; set; } 
    }
}

 public class GameNotes
    {
        public int ID { get; set; }
        public string NameA { get; set; }
        public string NameB { get; set; }
        public DateTime Data { get; set; }
        public string R1 { get; set; }
        public string R2 { get; set; }
        public string R3 { get; set; }
        public string R4 { get; set; }
        public string R5 { get; set; }
        public string Place { get; set; }

    }

 

public class GameNotes
    {
        public int ID { get; set; }
        public string NameA { get; set; }
        public string NameB { get; set; }
        public DateTime Data { get; set; }
        public string R1 { get; set; }
        public string R2 { get; set; }
        public string R3 { get; set; }
        public string R4 { get; set; }
        public string R5 { get; set; }
        public string Place { get; set; }

    }

namespace DAL
{
    public class SingleBallDAL
    {
        
        public int InsertBallInfo(SingleBall sb)
        {
            string sql = "insert into SingleBall values"+
                "(@BallNum,@GetTeam,@WinTeamScore,@LoseTeamScore,@GetMemberNum,@HowGet,@LoseMemberNum)";
            SqlParameter[] pms = { 
                                        new SqlParameter("@BallNum",sb.BallNum),
                                        new SqlParameter("@GetTeam",sb.GetTeam),
                                        new SqlParameter("@WinTeamScore",sb.WinTeamScore),
                                        new SqlParameter("@LoseTeamScore",sb.LoseTeamScore),
                                        new SqlParameter("@GetMemberNum",sb.GetMemberNum),
                                        new SqlParameter("@HowGet",sb.HowGet),
                                        new SqlParameter("@LoseMemberNum",sb.LoseMemberNum),
                                     };
            return SqlHelper.ExecuteNonQuery(sql, pms);
        }
    }
}

namespace VolleyballDal
{
   public class volleyDal
    {
       public DataTable SelectScore(string team)
       {
           string sql = "select * from VolleybalScore where Teams like '%"+team+"%'";
           DataTable dt = SqlHelper.ExecuteDataTable(sql);
           return dt;
       }
       public bool SelectScoreCount(string team)
       {
           string sql = "select count(*) from VolleybalScore where Teams like '%" + team + "%'";
           int count = (int)SqlHelper.ExecuteScalar(sql);
           return count>0;
          
       }
      
    }
}

namespace VolleyballBll
{
    public class volleyBll
    {
        private volleyDal dal = new volleyDal();
        public DataTable SelectScore(string team)
        {
            return dal.SelectScore(team);
        }
        public bool SelectScoreCount(string team)
        {
            return dal.SelectScoreCount(team);

        }
    }
}

namespace VolleyballDal
{
   public class volleyDal
    {
       public DataTable SelectScore(string team)
       {
           string sql = "select * from VolleybalScore where Teams like '%"+team+"%'";
           DataTable dt = SqlHelper.ExecuteDataTable(sql);
           return dt;
       }
       public bool SelectScoreCount(string team)
       {
           string sql = "select count(*) from VolleybalScore where Teams like '%" + team + "%'";
           int count = (int)SqlHelper.ExecuteScalar(sql);
           return count>0;
          
       }
      
    }
}
  • 代码复审:2h
  •  事后总结: 还不够完善,有待提高与改进。