现场计分员

开发流程:

计划:这个任务需要一周的时间 

开发:

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

  设计复审:由宿舍同学来审核

  具体设计:合理的布局

  具体编码:

//获取连接字符串
private static readonly string constr = ConfigurationManager.ConnectionStrings["Volleyballers"].ConnectionString;
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
//使用using关键字定义一个范围,在范围结束时自动调用这个类实例的Dispose处理对象
using (SqlConnection conn = new SqlConnection(constr))
{
//创建执行sql命令语句
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
//判断是否传递了sql参数
if (pms != null)
{
//将参数添加到Parameters集合中
cmd.Parameters.AddRange(pms);
}
conn.Open();
return cmd.ExecuteNonQuery();
}
}
}
//执行返回单个值的
public static object ExecuteScalar(string sql, params SqlParameter[] pms)
{
using (SqlConnection conn = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
conn.Open();
return cmd.ExecuteScalar();
}
}
}
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
{
SqlConnection conn = new SqlConnection(constr);
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
try
{
conn.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch (Exception)
{
conn.Close();
conn.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;
}

个人总结:一段时间没练习,程序中的许多语法都忘得差不多了,在做程序的时候还在不断翻书,找语句。这次作业还未完成,下周继续

原文地址:https://www.cnblogs.com/1996shiyu/p/6568445.html