ADO.Net之SqlConnection、 Sqlcommand的应用(读书笔记1)

一.思维导图

1.关于SqlConnection类。

属性 ConnectionString 获取或设置用于打开 SQL Server 数据库的字符串。
方法 0pen() 使用 ConnectionString 所指定的属性设置打开数据库连接。
  Close() 关闭与数据库的连接。 此方法是关闭任何已打开连接的首选方法。
  CreateCommand() 创建并返回一个与 SqlConnection 关联的 SqlCommand 对象。

2.关于SqlCommand类。

属性 Connection 获取或设置SqlCommand的实例使用的SqlConnection。
  CommandText 获取或设置要对数据源执行的Transact—SQL语句或存储过程。
  CommandType 获取或设置一个值,该值指示如何解释CommandText属性。
  Parameters 参数化查询
方法 ExecuteNonQuery() 返回值类型为int型。多用于执行增加,删除,修改数据。返回受影响的行数
  ExecuteReader() 返回类型为SqlDataReader。此方法用于用户进行的查询操作。使用SqlDataReader对象的Read();方法进行逐行读取。
  ExecuteScalar() 返回值类型多为int类型。它返回的多为执行select查询。得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等。

二.实例(实现登录)

1.声明并实例化SQL连接,并在字符串变量sqlConnection中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证)

1 SqlConnection sqlConnection = new SqlConnection();                              
2 SqlConnection.ConnectionString ="Server=(local);Database=EduBaseDemo;Integrated Security=sspi"; 

2. Sqlcommand---Connection、CommandText

1  SqlCommand sqlCommand = new SqlCommand();                                       //声明并实例化SQL命令;
2  sqlCommand.Connection = sqlConnection;                                          //将SQL命令的属性Connection指向SQL连接;
3      sqlCommand.CommandText =                                                        //指定SQL命令的命令文本;命令文本由字符串拼接而成;
4                 "SELECT COUNT(1) FROM tb_User"
5                 + " WHERE No='" + this.txb_UserNo.Text.Trim() + "'"                         //将文本框的文本清除首尾的空格后,拼接至命令文本中;
6                 + " AND Password=HASHBYTES('MD5','" + this.txb_Password.Text.Trim() + "');"; 

3.SqlCommand---ExecuteScalar

 1 sqlConnection.Open();                                                           //打开SQL连接;
 2       int rowCount = (int)sqlCommand.ExecuteScalar();                           //调用SQL命令的方法ExecuteScalar来执行命令,并接受单个结果(即标量);
 3                                                                                 //执行标量的返回结果类型为object,可通过强制类型转换,转为整型;
 4       sqlConnection.Close();                                                    //关闭SQL连接;
 5        if (rowCount == 1)                                                       //若查得所输用户号相应的1行记录;
 6          {
 7             MessageBox.Show("登录成功。");                                       //给出正确提示;
 8          }
 9        else                                                                    //否则;
10          {
11             MessageBox.Show("用户号/密码有误,请重新输入!");                      //给出错误提示;
12             this.txb_Password.Focus();                                         //密码文本框获得焦点;
13             this.txb_Password.SelectAll(); }                                  //密码文本框内所有文本被选中;
原文地址:https://www.cnblogs.com/lidie-/p/9675102.html