• 第十八周个人总结


    • 计划

            估计此程序需要5-7天。

    • 开发
    • 需求分析

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

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

         .设计复审:

                        将编写的程序进行生成,进行设计复审。看看是否生成错误,如果错误进行修改。

         .代码规范:

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

        .活动图

    部分代码如下:

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

    namespace VolleyballDal
    {
    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();
    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;

    }
    }
    }

    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;

    }

    }
    }

    页面如下:

  • 相关阅读:
    angularJS解决数据显示闪一下的问题?-解决办法
    js 做账单处理
    淘宝cnpm
    js 对象转数组
    js 移动端上拉刷新(基于ng1)
    js 控制超出字数显示省略号
    select2 插件编辑时设置默认值
    select2 插件加载后端数据
    js 依据“;”折行
    css 两段对齐和超出部分...
  • 原文地址:https://www.cnblogs.com/Apple0921/p/6256443.html
Copyright © 2020-2023  润新知