第四周学习笔记(2019.3.23)

主题:设计中的SqlHelper

  1. 什么是SqlHelper
    在vs2010中可以创建一个SqlHelper类。在敲代码的时候,经常会出现大量代码重复的现象,这样的话,不仅不利于代码的修改,而且在同一个界面大量重复的代码显得非常乱。这时候你可以将这些重复的代码封装成一个类——SqlHelper,需要用的时候在数据层调用它就行了。
  2. 有关SqlHelper的知识点
    一些比较常用的方法:
    ExecuteNonQuery:此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。
    ExecuteReader:此方法用于返回 SqlDataReader 对象,该对象包含由某一命令返回的结果集。
    ExecuteDataset: 此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。
    ExecuteScalar:此方法返回一个值。该值始终是该命令返回的第一行的第一列。
    注意:无论是什么方法,所有命令都通过SqlCommand对象来执行,在执行命令前,所有的参数都必须添加到Parameters 集合中。
    第四周学习笔记(2019.3.23)
  3. 如何使用SqlHelper
    以我自己设计中的管理员登入为例
    未用SqlHelper的代码如下
    注释请看代码后面
SqlConnection sqlConnection = new SqlConnection();
            sqlConnection.ConnectionString =
                "Server=(local);Database=hypertension;Integrated Security=sspi";//连接本地数据库
            SqlCommand sqlCommand = sqlConnection.CreateCommand();//用sqlConnection的CreateCommand属性创建命令
            sqlCommand.CommandText =
                "SELECT COUNT(1) FROM tb_adimin WHERE [email protected] AND [email protected]";
            SqlParameter sqlParameter = new SqlParameter();
            sqlParameter.ParameterName = "@Name";
            sqlParameter.Value = this.txb_name.Text.Trim();
            sqlParameter.SqlDbType = SqlDbType.VarChar;
            sqlCommand.Parameters.Add(sqlParameter);//这一小段代码是将txb_name文本框里的内容赋值给参数@Name
            sqlCommand.Parameters.AddWithValue("@Pasw", this.txb_pasw.Text.Trim());
            sqlCommand.Parameters["@Pasw"].SqlDbType = SqlDbType.Char;
            sqlParameter.Size = 8;//这一小段代码是将txb_name文本框里的内容赋值给参数@Pasw
 sqlConnection.Open();
            int rowCount = (int)sqlCommand.ExecuteScalar();//受影响的行数
            sqlConnection.Close();
            if (rowCount == 1)
            {
                MessageBox.Show("登入成功!");
            }
            else
            {
                MessageBox.Show("用户名/密码有误请重新输入!");
                this.txb_pasw.Focus();
                this.txb_name.SelectAll();
            }
        }

时你会发现,如果这个页面中出现注册或者修改密码等功能时,很多代码就会重复出现,非常冗杂,为了避免这个问题,你就可以使用SqlHelper
修改之后的代码,如图:
设计页面
第四周学习笔记(2019.3.23)
SqlHelper类

第四周学习笔记(2019.3.23)
运行结果如图:
第四周学习笔记(2019.3.23)