计分员计分程序
1.估計這個任務需要多長時間:兩星期
2.需求分析:
? 作為一名現場記分員,我希望詳細記錄比賽現場比分增長情況,以便觀眾及運動員、教練員及時掌握比賽狀況。(滿意條件:每一次比分的改變,都要形成一條記錄)。
3.設計文檔:
根據用戶需求可知我們此次程序需要做到每次分數變化的時候都要記錄。當記分員操作之后就要形成記錄。
4.代碼規范
?根據Visual Studio 2010規范去寫。
5.具體設計:
?
6.具體編碼
?public class Dal
??? {
??????? public List<Model> GetAll()
??????? {
??????????? string sql = "select * from Table_1";
??????????? List<Model> stu = new List<Model>();
??????????? using (SqlDataReader reader = SqlHelper.ExecuteReader(sql))
??????????? {
??????????????? if (reader.HasRows)
??????????????? {
??????????????????? while (reader.Read())
??????????????????? {
??????????????????????? Model Mod = new Model();
??????????????????????? Mod.ID = (int)reader["ID"];
??????????????????????? Mod.Name = reader["Name"].ToString();
??????????????????????? Mod.Wz = reader["Wz"].ToString();
???????????????????????
??????????????????????? stu.Add(Mod);
??????????????????? }
??????????????? }
??????????? }
??????????? return stu;
??????? }
??????? public List<Model> GetAll1()
??????? {
??????????? string sql = "select * from Table_2";
??????????? List<Model> stu = new List<Model>();
??????????? using (SqlDataReader reader = SqlHelper.ExecuteReader(sql))
??????????? {
??????????????? if (reader.HasRows)
??????????????? {
??????????????????? while (reader.Read())
??????????????????? {
??????????????????????? Model Mod = new Model();
??????????????????????? Mod.ID = (int)reader["ID"];
??????????????????????? Mod.Name = reader["Name"].ToString();
??????????????????????? Mod.Wz = reader["Wz"].ToString();
??????????????????????? stu.Add(Mod);
??????????????????? }
??????????????? }
??????????? }
??????????? return stu;
??????? }
?
??? }
?public class Bll
??? {
??????? public Dal dal = new Dal();
??????? public List<Model> GetAll()
??????? {
??????????? return dal.GetAll().Count > 0 ? dal.GetAll() : null;
??????? }
??????? public List<Model> GetAll1()
??????? {
??????????? return dal.GetAll1().Count > 0 ? dal.GetAll1() : null;
??????? }
??? }
public class Model
??? {
??????? public int ID { get; set; }
??????? public string Name { get; set; }
??????? public string Wz { get; set; }
???????
??? }
public static class SqlHelper
??? {
??????? //獲取連接字符串
??????? private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
??????? //ExecuteNonQuery()方法 執行增刪改
??????? 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();
??????????????? }
??????????? }
??????? }
??????? //ExecuteScalar()方法 執行返回單個值
??????? 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();
??????????????? }
??????????? }
??????? }
??????? //ExecuteReader()方法? 執行返回SqlDataReader
??????? 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;
??????????????? }
??????????? }
??????? }
??????? //ExecuteDataTable()方法? 執行返回
??????? 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;
??????? }
??? }
7.運行界面
?
?
程序中還存在一些問題,還在繼續完善當中。
轉載于:https://www.cnblogs.com/l424011148/p/6568453.html
總結