精易论坛

标题: 第六十七天 [打印本页]

作者: 老郭    时间: 2019-12-19 16:21
标题: 第六十七天

今日学习内容



67.1 SqlHelper封装

67.2 SqlHelper封装测试  cha询案例 - DataGridView

67.3  三层架构的概念 分层测试

67.4  DataGridView 绑定xx源后的同步更新问题



作业



  1. 完成SqlHelper 中DataSet 部分的封装

  2. 完成课程中后面的 修改 删除



作者: qingshanlushui    时间: 2020-1-18 21:00

  1. 1.完成SqlHelper 中DataSet 部分的封装

  2.         #region 04 执行cha询语句 DataAdapter 方式集合
  3.         /// <summary>
  4.         /// 执行cha询语句 DataAdapter,获取DataSet
  5.         /// </summary>
  6.         /// <returns>返回DataSet</returns>
  7.         public DataSet ExecuteDataAdapter(string cmdText, Mxxarameter[] parameters, string connStr = "", CommandType type = CommandType.Text,string dataSetName = "table")
  8.         {
  9.             connStr = string.IsNullOrWhiteSpace(connStr) ? _connStr : connStr;
  10.             using (MySqlConnection conn = new MySqlConnection(connStr))
  11.             {
  12.                 using (MySqlCommand cmd = new MySqlCommand())
  13.                 {
  14.                     Prepare(conn, type, cmdText, cmd, null, parameters);
  15.                     using (MySqlDataAdapter dataAdapter = new MySqlDataAdapter(cmd))
  16.                     {
  17.                         DataSet ds = new DataSet();
  18.                         dataAdapter.Fill(ds, dataSetName);
  19.                         return ds;
  20.                     }
  21.                 }
  22.             }
  23.         }
  24.         public DataSet ExecuteDataAdapter(MySqlConnection conn, string cmdText, Mxxarameter[] parameters, CommandType type = CommandType.Text, string dataSetName = "table")
  25.         {
  26.             using (MySqlCommand cmd = new MySqlCommand())
  27.             {
  28.                 Prepare(conn, type, cmdText, cmd, null, parameters);
  29.                 using (MySqlDataAdapter dataAdapter = new MySqlDataAdapter(cmd))
  30.                 {
  31.                     DataSet ds = new DataSet();
  32.                     dataAdapter.Fill(ds, dataSetName);
  33.                     return ds;
  34.                 }

  35.             }
  36.         }

  37.         public DataSet ExecuteDataAdapter(MySqlTransaction trans, string cmdText, Mxxarameter[] parameters, CommandType type = CommandType.Text, string dataSetName = "table")
  38.         {
  39.             using (MySqlCommand cmd = new MySqlCommand())
  40.             {
  41.                 Prepare(trans.Connection, type, cmdText, cmd, trans, parameters);
  42.                 using (MySqlDataAdapter dataAdapter = new MySqlDataAdapter(cmd))
  43.                 {
  44.                     DataSet ds = new DataSet();
  45.                     dataAdapter.Fill(ds, dataSetName);
  46.                     return ds;
  47.                 }
  48.             }
  49.         }

  50.         #endregion

  51. 2.完成课程中后面的 修改 删除

  52. class StudentDal中
  53.         /// <summary>
  54.         /// 删除选中行的第一个
  55.         /// </summary>
  56.         /// <returns>受影响行数</returns>
  57.         public int Delete(int id)
  58.         {
  59.             string sql = "DELETE FROM students WHERE id = @id";
  60.             List<Mxxarameter> parameters = new List<Mxxarameter> {
  61.                     new Mxxarameter("@id",id)
  62.             };
  63.             MysqlHelper mysql = new MysqlHelper("connStr");
  64.             int rel = Convert.ToInt32(mysql.ExecuteNonQuery(sql, parameters.ToArray()));
  65.             return rel;
  66.         }
  67.         /// <summary>
  68.         /// 更新选中行,选中列的值
  69.         /// </summary>
  70.         /// <returns>受影响行数</returns>
  71.         public int Update(int id,string item,string value)
  72.         {
  73.             string sql = "UPDATE FROM students SET "+item+" =[url=home.php?mod=space&uid=22064]@value[/url] WHERE id = @id";
  74.             List<Mxxarameter> parameters = new List<Mxxarameter> {
  75.                     new Mxxarameter("@id",id),
  76.                     new Mxxarameter("@value",value)
  77.             };
  78.             MysqlHelper mysql = new MysqlHelper("connStr");
  79.             int rel = Convert.ToInt32(mysql.ExecuteNonQuery(sql, parameters.ToArray()));
  80.             return rel;
  81.         }

  82. 删除调用
  83.         private void tsmu_delete_Click(object sender, EventArgs e)
  84.         {
  85.             if (dgv_students.SelectedRows.Count > 0)
  86.             {
  87.                 int index = dgv_students.SelectedRows[0].Index;
  88.                 int id = Convert.ToInt32(dgv_students.Rows[index].Cells[0].Value);
  89.                 if (dal.Delete(id) > 0) {
  90.                     list.Clear();
  91.                     int total;
  92.                     List<Student> students = dal.GetStudentsByPage(1, 10, out total);
  93.                     list = new BindingList<Student>(students);
  94.                     dgv_students.DataSource = list;
  95.                 }
  96.             }
  97.             
  98.         }
复制代码





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4