1.估计这个任务需要多长时间
5~6天
2.需求分析
作业一个排球教练,我希望知道每个队员的技术得分情况,以便后期对队员的训练。
3.设计文档
教练通过查询知道每个队员的技术得分情况
4.设计复审
将编写的程序进行复审
5.代码规范
6.具体设计
活动图:
 
7.具体编码
代码:
 private void dgv(string sql = "select * from VolleyBaller")
        {
            dataGridView1.DataSource = SqlHelper.ExecuteDataTable(sql);
        }
        private void comb()
        {
            comboBox1.Items.Clear();
            comboBox1.Items.Add("请选择要查询的队员");
            string sql = "select name from VolleyBaller"; 
            using(SqlDataReader reader=SqlHelper.ExecuteReader(sql))
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        comboBox1.Items.Add(reader[0]);
                    }
                }
            }
        }
//单击事件
        private void button1_Click(object sender, EventArgs e)
        {
            string name = comboBox1.Text.Trim();
            StringBuilder sql=new StringBuilder("select * from VolleyBaller where 1=1");
            if(!string.IsNullOrEmpty(name))
            {
                sql.Append(" and name like ‘%" + name + "%‘");
            }
            
            dgv(sql.ToString());
        }
    }
sqlhelper类
//执行返回一张表
 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 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();
                }
            }
        }
运行界面

运行结果

8.事后总结
对于这个任务基本的已经实现,但是没有用具体的三层架构实现,后期打算用三层架构实现,并且准备增加一些新的功能
原文:http://www.cnblogs.com/lililia/p/6257291.html