第十八周做业

 

第十八周做业sql

·计划数据库

    估计这个任务须要5-6天架构

·开发测试

   *需求分析ui

              用户故事:做为一个排球教练,我但愿知道每一个队员的技术得分状况,以便后期对每一个队员的训练计划进行调整。编码

   *生成设计文档 spa

                          任务:教练经过选择想要查询的队员名字来查询本队某队员的技术得分。设计

   *设计复审:代码规范

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

   *代码规范:

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

   *具体设计

                        

      *具体编码:

配置文件:

 App.config:

 

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

 

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();
}
}
}
}

 

private void Form1_Load(object sender, EventArgs e)
{
comb();
dgv();
}
private void dgv(string sql = "select * from VolleyBaller")
{
dataGridView1.DataSource = SqlHelper.ExecuteDataTable(sql);
}
private void comb()
{
comboBox1.Items.Clear();
comboBox1.Items.Add("请选择你的队员名字");
comboBox1.SelectedIndex = 0;
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());
}

     程序执行出来的截图:

                    数据库截图:

                     

 

                      首次加载的图片:

                            

 

                          教练查询执行的结果:

                                      

 

                  *代码复审:和同窗对该程序进行讨论,对该程序进行指正,以及对该程序的见解和意见。

               *测试: 对该程序进行本身测试,而后进行修改和提交。

           ·报告 

            *测试报告:

                             因为对测试过程了解的还不太好,一直没有测试经过。接下来要进一步深刻了解UI测试步骤,而后 对该程序进行继续测试。

             *计算工做量:五天。

             *过后总结:对于这个程序我用了WindowForm作的,实现了设计须要实现的。计划:这个程序没有用三层架构接下来要用三层架构来实现。还有这个用户故事有点容易,接下来我应该实现对方的技术得分,让教练进行对比,来看看本身的不足和长处。

相关文章
相关标签/搜索