现场计分员

计划:
大约需要两周。
需求分析:
作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员、教练员及时掌握比赛状况。
生成设计文档:
(1)记录每个队员的得分
(2)对发球,扣球,失误,等运动员情况进行记录。
(3)找出最佳得分球员。
(4)将个人得分,每场得分,每队的得分保存至数据库内。
设计复审:
和组成员审核设计文档。
代码规范:
以VS2010为开发环境。
具体代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
///SqlHelper 的摘要说明
/// </summary>
public static class SqlHelper
{
//public SqlHelper()
//{
//
//TODO: 在此处添加构造函数逻辑
//
//private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
private static readonly string constr = ConfigurationManager.ConnectionStrings["itcast"].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();
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;
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Model;
using sceneJiFenDAL;

namespace sceneJiFenBLL
{
public class FenBLL
{
BeginDal dal = new BeginDal();
public bool Insert(Fen fen)
{

return dal.Insert(fen) > 0;
}
public List<Fen> GetAllFen()
{
return dal.SelectAllFen().Count > 0 ? dal.SelectAllFen() : null;
}
}
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Model;
using sceneJiFenBLL;

namespace sceneJiFen
{
public partial class One : Form
{
public One()
{
InitializeComponent();
}
int Adefen=0;
int Bdefen = 0;
private FenBLL bll = new FenBLL();
private void button1_Click(object sender, EventArgs e)
{
Adefen++;
Fen fen=new Fen();
fen.TeamA=label1.Text;
fen.TeamB = label2.Text;
fen.ADeFen = Adefen.ToString();
if (radioBtn2.Checked == true)

fen.TeamAFenName = radioBtn2.Text;
}

if (radioButton2.Checked == true)
{
fen.TeamAFenName = radioButton2.Text;
}
if (radioButton3.Checked == true)
{
fen.TeamAFenName = radioButton3.Text;
}
if (radioButton14.Checked == true)
{
fen.TeamAFenName = radioButton14.Text;
}
if (radioButton6.Checked == true)
{
fen.TeamAFenName = radioButton6.Text;
}
if (radioButton5.Checked == true)
{
fen.TeamAFenName = radioButton5.Text;
}
if (radioButton4.Checked == true)
{
fen.TeamAFenName = radioButton4.Text;
}
if (radioButton13.Checked == true)
{
fen.TeamAFenName = radioButton13.Text;
}
//bool isOK = bll.Insert(fen);
//if(isOK)
//{
// MessageBox.Show("hhhhhh");
//}
}

private void button2_Click(object sender, EventArgs e)
{
Bdefen++;
Fen fen = new Fen();
fen.TeamA = label1.Text;
fen.TeamB = label2.Text;
fen.BDeFen = Bdefen.ToString();
if (radioButton12.Checked == true)
{
fen.TeamAFenName = radioButton12.Text;
}

if (radioButton11.Checked == true)
{
fen.TeamAFenName = radioButton11.Text;
}
if (radioButton10.Checked == true)
{
fen.TeamAFenName = radioButton10.Text;
}
if (radioButton9.Checked == true)
{
fen.TeamAFenName = radioButton9.Text;
}
if (radioButton8.Checked == true)
{
fen.TeamAFenName = radioButton8.Text;
}
if (radioButton7.Checked == true)
{
fen.TeamAFenName = radioButton7.Text;
}

}

private void One_Load(object sender, EventArgs e)
{

}
}
}

总结:用三层架构有困难。

时间: 2024-11-15 19:41:29

现场计分员的相关文章

排球现场计分员三层架构版

作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.(满意条件:每一次比分的改变,都要形成一条记录) 每次比分改变将数据库里面的内容随之改变. 计划 估算时间 实际时间 估计这个任务需要多少时间 300min 600min 开发 200min 500min 需求分析 10min 10min 生成设计文档 20min 20min 设计复审 10min 20min 代码规范 10min 10min 具体设计 20min 40min 具体编码 120min

排球计分员用户故事

计划 .估计项目总用时:7天 开发 .需求分析:作为一名现场计分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员即及时掌握                                     比赛状况(每次比分形成一条记录) .生成设计文档:活动图 .设计复审:通过 .代码规范:Visual Studio 2010 .具体设计: .具体编码: using System;using System.Collections.Generic;using System.Linq;usi

排球计分员程序

开发流程如下: 项目计划 完成这个项目需要的时间:两星期 项目开发   需求分析: 作为一名现场记分员,我希望详细记录现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.  设计文档 由排球比赛用户故事的需求分析可知,此程序是用来记录现场比分情况. 计划复审 目前在进行中 代码规范     根据Visual Studio 2010规范去写.  具体设计 <configuration>    <connectionStrings>      <add name=&quo

计分员程序

一.分析需求 1.记录现场比分增长 2.每一次比分的增长都需记录 二.功能 1.记录球队总得分 2.记录每球得分队员                 3.存储所有数据 PSP Personal Software Process Stages Time Senior Student Time Planning 计划     .Estimate 估计这个任务需要多少时间 8h 6.4h Development 开发 5.2h 6.4h .Analysis 需求分析  10min 10min .Des

排球计分(一)需求分析和数据库设计

需求分析: 作为一个排球计分规则的页面程序,一般用户为球迷观众和排球计分员. 1.作为一名排球计分员,需要实现得分的加减,并自动判定胜负,最后传入数据库. 2.作为一名排球计分员,需要在实现得分的同时,详细记录得分情况. 3.作为一名排球计分员,可以对某些记录修改. 4.作为一名球迷观众,首先想先看到所有的比赛基本记录. 5.作为一名球迷观众,希望看到每局比赛的详细记录. 下附用例图一张: 数据库: 记录表: ID    int    比赛ID    NotNull    主键,自增 gameN

排球计分软件规格说明书

适用范围,目的: 本产品主要应用于各种排球比赛,比如:校园排球比赛,其目的是为每场排球比赛进行有效计分,使用者多为比赛计分员. 系统概述: 1,本产品的目标: 产品主要对比赛分数进行处理,但产品本身并不能主动进行信息采集需根据产品需求及时提供所需信息,对比赛进行计分.提高效率,利用软件进行管理,避免人工管理的失误,从而实现干效率的积分管理. 2,产品功能: 对比赛比分进行统计:定时提醒交换场地:判断比赛胜负:统计比赛时间: 一般约束:     假定:用户能够提供交付测试的环境:     设计及实

MVC之排球比赛计分程序 ——(九)总结

系列博客目的是制作一款排球计分程序.这系列博客将讲述此软件的各个功能的设计与实现.到这篇博客,此系列博客就算是结束了.在最后的这篇博客里 我们来做一些总结. 一,制作此程序,我们使用的是MVC框架.MVC是一种程序开发设计模式,它实现了显示模块与功能模块的分离.提高了程序的可维护性.可移植性.可扩展性与可重用性,降低了程序的开发难度.它主要分模型.视图.控制器三层. 使用MVC有诸多好处: 1:耦合性低 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的

比赛现场打分管理平台概述

平台名称:比赛现场打分管理平台V5 主要应用于文艺比赛.演讲比赛.才艺比赛展示.歌咏比赛.模特比赛.艺术考试.干部评议等需要评委现场打分的场合. 经济实惠:由于专门的比赛打分器使用次数很少,专门配备不但成本高,而且现场调试麻烦.而平板电脑或手机现在已经很普及,只需在现场架设Wifi,PC台式机和其相连,同时在管理PC机中装上管理软件,就可以完成一场专业的打分任务. 具体方案:http://www.exesoft.cn/solution/show/soft128.aspx 它包括两个部分: 1.A

2018丰台区青年文化创新创业大赛开赛,新荟友科技公司3个项目参赛!

6月25日,由北京市文化创意产业促进中心.丰台区委组织部.宣传部指导,丰台区文化创意产业促进中心主办,北京竹海科技孵化器有限公司承办,北京国数创业创新企业管理有限公司.北京永同昌丰益科技孵化器有限公司协办的"2018丰台区青年文化创新创业大赛"首场比赛在北京国家数字出版基地正式拉开帷幕. 经过前期征集和严格筛选,戏说.国粹天音.世界多美丽.旗袍IP剧.幻视互动.数字国学馆.新社汇.微会动等17个项目登台亮相,展开激烈角逐.行业专家.投资人.创业导师.文创园区负责人,以及参赛项目负责人近