三层架构重构用户故事(现场记分员)

开发流程如下:

项目计划

   完成这个项目需要的时间:5-7天

项目开发

  需求分析:

    作为一名现场记分员,我希望详细记录现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。

  设计文档

    由排球比赛用户故事的需求分析可知,此程序是用来记录现场比分情况。

  计划复审

 目前在进行中

  代码规范

    根据Visual Studio 2010规范去写。

  具体设计

部分编码:

using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace DAL
{
public static class SqlHelper
{

//连接字符串

private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
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 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 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;
}
}
}

事后总结并提出改进计划:对于三层机构还不太会,还需多多练习。

原文地址:https://www.cnblogs.com/scfs/p/6567675.html