首页 > 代码库 > 第十八周总结

第十八周总结

排球计分程序:

一,设计
估计这个任务完成需要七天。

二,开发

   1. 需求分析

     作为一个赛事管理人员,我希望知道每场比赛队伍得分和积分情况,以便给每队进行排名。

     从分析用例故事可以知道完成此程序需要这两项任务:选择任务和查询队伍的比分和积分情况。

   2.生成设计文档

     由排球用户故事的需求可知,这个程序用来统计各个队伍的比分与积分情况,并对各个队伍进行排名。

 

   3.设计复审

     大概需要一天的时间。

   4.代码规范:

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

   5.活动图

技术分享

    6.部分代码

   public static class SqlHelper   

     { 

         private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;   

         public static int ExecuteNonQuery(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.ExecuteNonQuery();  

               }

            }   

      }        

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();  

         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 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 volleyball

{     public partial class SelectScore : Form

    {         public SelectScore()   

      {             InitializeComponent();    

     }     

    private volleyBll bll = new volleyBll();

        private void dgvload(string team)  

       {             if (bll.SelectScoreCount(team))    

         {                 dgvScore.DataSource = bll.SelectScore(team);    

         }     

        else     

        {                 MessageBox.Show("找不到这个队伍的比赛记录");

             dgvScore.DataSource = bll.SelectScore(team);   

          }  

       }  

       private void SelectScore_Load(object sender, EventArgs e)  

       {

        }

        private void btnSelect_Click(object sender, EventArgs e)   

      {             string team = txtTeam.Text.Trim();   

          if (!String.IsNullOrEmpty(team))    

         {                 dgvload(team);          

                  }     

        else      

       {                 MessageBox.Show("输入队名不能为空");  

           }   

      }

    }

}

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

     }
  }

  

页面如下:

技术分享

   7.代码复审

      三个小时

  三.最后总结

   做的还不够完善,还有很多不足之处,花费时间太长,我会在接下来的时间尽自己所能进行修改和完善。

 

第十八周总结