• 十八周总结


    【排球比赛赛事管理者】

    ·计划

        估计这个任务需要5天

    ·开发

       *需求分析

                  用户故事:作为一个排球比赛赛事管理者,我希望知道每个队的得分情况,以便后期对每个队进行排名。

       *生成设计文档 

                              任务:赛事管理者通过选择想要查询的队名来查询某队的总得分和名次。

       *设计复审:

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

       *代码规范:

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

      *具体设计

                            

      *具体编码:

    配置文件:

     App.config:

    <configuration>
    <connectionStrings>
    <add name="itcast" connectionString="server=.;initial catalog=itcast;integrated security=true;"/>
    </connectionStrings>
    </configuration>

    SqlHelper类
    class SqlHelper
    {
    private static readonly string constr = ConfigurationManager.ConnectionStrings["itcast"].ConnectionString;
    public static int ExecuteNonQuery(string sql, params SqlParameter[] pams)
    {

    using (SqlConnection conn = new SqlConnection(constr))
    {
    using (SqlCommand comm = new SqlCommand(sql, conn))
    {
    if (pams != null)
    {
    comm.Parameters.AddRange(pams);
    }
    conn.Open();
    return comm.ExecuteNonQuery();
    }
    }

    }

    public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pams)
    {
    DataTable dt = new DataTable();

    using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))
    {
    if (pams != null)
    {
    adapter.SelectCommand.Parameters.AddRange(pams);
    }
    adapter.Fill(dt);
    }
    return dt;
    }

    public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pams)
    {

    SqlConnection conn = new SqlConnection(constr);
    using (SqlCommand comm = new SqlCommand(sql, conn))
    {
    if (pams != null)
    {
    comm.Parameters.AddRange(pams);

    }
    try
    {
    conn.Open();
    return comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
    }
    catch (Exception)
    {
    conn.Close();
    conn.Dispose();
    throw;
    }
    }
    }

    public static object ExecuteScalar(string sql, params SqlParameter[] pams)
    {

    using (SqlConnection conn = new SqlConnection(constr))
    {
    using (SqlCommand comm = new SqlCommand(sql, conn))
    {
    if (pams != null)
    {
    comm.Parameters.AddRange(pams);
    }
    conn.Open();
    return comm.ExecuteScalar();
    }
    }
    }
    }

    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    string name = comboBox1.Text.Trim();
    StringBuilder sql = new StringBuilder("select * from Info where 1=1");
    if (!string.IsNullOrEmpty(name))
    {
    sql.Append(" and name like '%" + name + "%'");
    }

    dgv(sql.ToString());
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    comb();
    dgv();
    }
    private void dgv(string sql = "select * from Info")
    {
    dataGridView1.DataSource = SqlHelper.ExecuteDataTable(sql);
    }
    private void comb()
    {
    comboBox1.Items.Clear();
    comboBox1.Items.Add("请选择队名");
    comboBox1.SelectedIndex = 0;
    string sql = "select name from Info";
    using (SqlDataReader reader = SqlHelper.ExecuteReader(sql))
    {
    if (reader.HasRows)
    {
    while (reader.Read())
    {
    comboBox1.Items.Add(reader[0]);
    }
    }
    }
    }
    }

     *程序运行截图:

        数据库截图:

    运行截图:

       *代码复审:和同学对该程序进行讨论,对该程序进行指正。

        *测试: 对该程序进行自己测试,然后进行修改和提交。

         ·报告 

         *测试报告:

                 由于对测试过程还不太了解,一直没有测试通过。接下来要进一步深入了解UI测试步骤,然后 对该程序进行继续测试。

          *计算工作量:五天。

          *事后总结:这个程序我是用WindowForm做的,实现了设计需要实现的,但是,对三层架构的掌握还不太熟练。所以下次计划用三层架构来实现这个程序。

  • 相关阅读:
    Oracle 查看一个表对应的主键和外键的约束关系,查看的语句:
    openssl 生成p12文件错误
    XP SP3远程桌面无法连接Windows Server 2008/Vista
    windows 7 正确禁用 IPv6
    用正则表达式替换换行符
    Eclipse插件开发之定制向导(各方法说明)
    oepnvpn 配置自启动
    TNS12547: TNS:lost contact 错误解决
    redhat 5.5 U盘安装
    Hibernat 使用Criteria查询多对多关系(SET集合)条件
  • 原文地址:https://www.cnblogs.com/f13781251665/p/6256344.html
Copyright © 2020-2023  润新知