zoukankan      html  css  js  c++  java
  • 本期总结

    排球计分程序-现场工作人员界面

    1.计划

    通过对用户故事估计这个任务需要3~5days。

    2.开发

    2.1需求分析

    作为一个排球比赛的现场工作人员,我需要统计每一名

    队员的得分及技术统计,以便颁发每场比赛的最有价值球员奖,

    以及确定赛会的最佳阵容。

    2.2生成设计文档

    1.>界面功能:进入现场工作人员界面,当运动员得分时,通过datagridview控件增加或者更新数据,并且即时更新到数据库中,然后通过查询按钮进入比赛结束后运动员的总分及技术统计界面。

    2.>数据库功能:从数据库中获取所有运动员的总分,然后按照降序的方法进行排序,获取第一行的第一个数据,将得分最高的运动员的名字现实到文本框中,得出MVP。

    同样的方法依次找出发球,扣球,拦网,一传,二传,自由人最佳的技术运动员,将此显示到文本框中。

    3.>活动图:

    2.3设计复审

    设计文档暂时由自己复审。

    2.4代码规范

    根据设计文档制定出合适的规范,对程序需要实现的功能

    作出合理的划分,以便于提高各个部分功能的可用性。

    2.5具体设计

    1.>界面设计

    2.>数据库设计

    2.6具体编码

    using System.Data.OleDb;
    namespace 工作人员统计
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    OleDbConnection conn;//声明一个OleDbConnection变量
    OleDbDataAdapter adapter;//声明一个OleDbAdapter
    DataSet ds = null;

    private void Form1_Load(object sender, EventArgs e)
    {
    // TODO: 这行代码将数据加载到表“统计表DataSet.Allathlete”中。您可以根据需要移动或删除它。
    this.allathleteTableAdapter1.Fill(this.统计表DataSet.Allathlete);
    // TODO: 这行代码将数据加载到表“workersDataSet1.Allathlete”中。您可以根据需要移动或删除它。
    // this.allathleteTableAdapter.Fill(this.workersDataSet1.Allathlete);
    // TODO: 这行代码将数据加载到表“workers.Allathletes”中。您可以根据需要移动或删除它。

    //
    conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersAdministratorDesktop统计表.mdb");
    adapter = new OleDbDataAdapter("select * from Allathlete", conn);
    ds = new DataSet();
    adapter.Fill(ds, "Allathlete");
    dataGridView1.DataSource = ds.Tables[0];
    dataGridView1.RowHeadersVisible = false;

    }

    private void button1_Click(object sender, EventArgs e)
    {
    //连接数据库
    conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersAdministratorDesktop统计表.mdb");
    adapter = new OleDbDataAdapter("select * from Allathlete", conn);
    ds = new DataSet();
    adapter.Fill(ds,"Allathlete");
    dataGridView1.DataSource = ds.Tables[0];
    dataGridView1.RowHeadersVisible = false;

    //建立一个DataTable类型的方法

    }
    private DataTable dbcon(string strOleDb)
    {
    conn.Open();
    this.adapter = new OleDbDataAdapter(strOleDb,conn);
    DataTable dtSelect = new DataTable();
    int rnt = this.adapter.Fill(dtSelect);
    conn.Close();
    return dtSelect;
    }

    private void button2_Click(object sender, EventArgs e)
    {
    if (dbUpdate())
    {
    MessageBox.Show("更新成功");
    }
    }
    private Boolean dbUpdate()
    {
    string strOleDb = "select * from Allathlete";
    DataTable dtUpdate = new DataTable();
    dtUpdate = this.dbcon(strOleDb);
    dtUpdate.Rows.Clear();
    DataTable dtShow = new DataTable();
    dtShow = (DataTable)this.dataGridView1.DataSource;
    for (int i = 0; i < dtShow.Rows.Count; i++)//循环遍历
    {
    dtUpdate.ImportRow(dtShow.Rows[i]);

    }
    try
    {
    this.conn.Open();
    OleDbCommandBuilder cb = new OleDbCommandBuilder(this.adapter);
    this.adapter.Update(dtUpdate);
    this.conn.Close();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message.ToString());
    return false;
    }
    dtUpdate.AcceptChanges();
    return true;
    }

    private void button3_Click(object sender, EventArgs e)
    {
    Form2 a = new Form2();
    a.Show();
    this.Hide();
    }


    }
    }

    using System.Data.OleDb;

    namespace 工作人员统计
    {
    public partial class Form2 : Form
    {
    public Form2()
    {
    InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    // TODO: 这行代码将数据加载到表“统计表DataSet3.Allathlete”中。您可以根据需要移动或删除它。
    this.allathleteTableAdapter3.Fill(this.统计表DataSet3.Allathlete);
    // TODO: 这行代码将数据加载到表“统计表DataSet2.Allathlete”中。您可以根据需要移动或删除它。
    this.allathleteTableAdapter2.Fill(this.统计表DataSet2.Allathlete);
    // TODO: 这行代码将数据加载到表“统计表DataSet1.Allathlete”中。您可以根据需要移动或删除它。
    this.allathleteTableAdapter1.Fill(this.统计表DataSet1.Allathlete);
    // TODO: 这行代码将数据加载到表“worker.Allathlete”中。您可以根据需要移动或删除它。
    //this.allathleteTableAdapter.Fill(this.worker.Allathlete);


    }

    private void button3_Click(object sender, EventArgs e)
    {
    string conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersAdministratorDesktop统计表.mdb";
    OleDbConnection con = new OleDbConnection(conn);
    // string sql = "select qiuyuan from Allathletes order by faqiu desc";
    con.Open();
    string sql = "select qiuyuan from Allathlete order by faqiu desc";
    OleDbCommand cmd = new OleDbCommand(sql,con);
    OleDbDataReader reader = cmd.ExecuteReader();
    try
    {
    reader.Read();
    string faqiu = (string)reader[0].ToString();
    textBox1.Text = faqiu;
    reader.Close();
    con.Close();
    con.Open();
    string sqa = "select qiuyuan from Allathlete order by kouqiu desc";
    OleDbCommand cma = new OleDbCommand(sqa, con);
    OleDbDataReader readera = cma.ExecuteReader();
    readera.Read();
    string kouqiu = (string)readera[0].ToString();
    textBox2.Text = kouqiu;
    readera.Close();
    con.Close();
    con.Open();
    string sqb = "select qiuyuan from Allathlete order by lanwang desc";
    OleDbCommand cmb = new OleDbCommand(sqb, con);
    OleDbDataReader readerb = cmb.ExecuteReader();
    readerb.Read();
    string lanwang = (string)readerb[0].ToString();
    textBox3.Text = lanwang;
    readerb.Close();
    con.Close();
    con.Open();
    string sqc = "select qiuyuan from Allathlete order by yichuan desc";
    OleDbCommand cmc = new OleDbCommand(sqc, con);
    OleDbDataReader readerc = cmc.ExecuteReader();
    readerc.Read();
    string yichuan = (string)readerc[0].ToString();
    textBox4.Text = yichuan;
    readerc.Close();
    con.Close();
    con.Open();
    string sqd = "select qiuyuan from Allathlete order by erchuan desc";
    OleDbCommand cme = new OleDbCommand(sqd, con);
    OleDbDataReader readerd = cme.ExecuteReader();
    readerd.Read();
    string erchuan = (string)readerd[0].ToString();
    textBox5.Text = erchuan;
    readerd.Close();
    con.Close();
    con.Open();
    string sqf = "select qiuyuan from Allathlete order by ziyouren desc";
    OleDbCommand cmf = new OleDbCommand(sqf, con);
    OleDbDataReader readerf = cmf.ExecuteReader();
    readerf.Read();
    string ziyouren = (string)readerf[0].ToString();
    //textBox1.Text = faqiu;
    //textBox2.Text = kouqiu;
    // textBox3.Text = lanwang;
    // textBox4.Text = yichuan;
    // textBox5.Text = erchuan;
    textBox6.Text = ziyouren;
    reader.Close();
    }
    catch
    {
    MessageBox.Show("没有比赛数据!");
    }
    con.Close();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    string conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersAdministratorDesktop统计表.mdb";
    OleDbConnection con = new OleDbConnection(conn);
    string sql = "select qiuyuan from Allathlete order by score desc";
    con.Open();
    OleDbCommand cmd = new OleDbCommand(sql,con);
    OleDbDataReader reader = cmd.ExecuteReader();
    reader.Read();
    try
    {
    string mvp = (string)reader[0].ToString();
    text.Text = mvp;
    }
    catch
    {
    MessageBox.Show("没有比赛数据!");
    }
    reader.Close();
    con.Close();

    }

    private void label4_Click(object sender, EventArgs e)
    {

    }

    private void button2_Click(object sender, EventArgs e)
    {
    text.Text = "";
    textBox1.Text = "";
    textBox2.Text = "";
    textBox3.Text = "";
    textBox4.Text = "";
    textBox5.Text = "";
    textBox6.Text= "";
    }
    }
    }

    2.7代码复审

    暂无。

    2.8测试

    使用VS对代码进行测试,对代码进行重构,修复了部分bug。

    3.报告

    3.1测试报告

    测试通过。

    3.2计算工作量

    时间

    24h

    随笔累计数

    不确定

    代码累计

    不确定

     

     

    3.3事后总结

    程序运行过程中仍有部分问题,准备再看看书并且请教下大神怎么解决。另外,我一定会学习上层架构的知识,这是一个盲点,我一定会补充。

               

  • 相关阅读:
    2020-03-1811:29:37springboot与任务
    2020-03-17 20:18:50springboot整合rabbitmq
    2020.03.17 springboot缓存相关
    前端JS面试
    npm 常用指令
    ES8新特性
    ES7新特性
    ES6新特性
    SpringBoot
    SpringBoot
  • 原文地址:https://www.cnblogs.com/zs1736/p/6256298.html
Copyright © 2011-2022 走看看