一、Command对象:SqlCommand(命令对象)
1、作用
设置和执行SQL语句的对象。
2、常用属性
- CommandType : 获取和设置Command对象要执行命令的类型
- CommandText : 获取和设置要对数据源执行的SQL语句或存储过程名或表名
- CommandTimeOut : 获取和设置在终止对执行命令的尝试并生成错误之前的待时间
- Connection : 获取或设置Command对象使用的Connection对象的名称
- Parameters : 获取Command对象需要使用的参数集合
- Transaction : 获取或设置将在SqlCommand对象执行的SqlTransaction对象
3、常用方法
- ExecuteNonQuery : 用户执行非Select命令,返回受影响的数据行数
- ExecuteScalar : 用于执行Select命令,返回数据中第一行第一列的值 object
- ExecuteReader : 执行Select命令,并返回一个DataReader对象
4、使用-创建对象(构造方法)
SqlCommand cmd = new SqlCommand() ;
SqlCommand cmd = new SqlCommand(string sql) ;
SqlCommand cmd = new SqlCommand(string sql,SqlConnection conn) ;
SqlCommand cmd = new SqlCommand(string sql,SqlConnection conn,SqlTransaction tran) ;
5、实现CRUD的操作
二、MD5加密
1、引用命名空间
using System.Security.Cryptography ;
2、操作
//创建Md5加密对象
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
//把加密的数据转换为字节数组
byte[] bytes = Encoding.UTF8.GetBytes("123456");
//对字节数组进行加密
bytes = md5.ComputeHash(bytes);
//输出结果
MessageBox.Show(BitConverter.ToString(bytes));
三、Parameter对象:SqlParameter
1、好处
- 操作方便
- 防止SQL注入,提高安全性
- 提高查询执行性能
2、使用-创建对象(构造方法)
SqlParameter param = new SqlParameter() ;
SqlParameter param = new SqlParameter(参数名称,数据类型) ;
SqlParameter param = new SqlParameter(参数名称,数据) ;
SqlParameter param = new SqlParameter(参数名称,数据类型,大小) ;
3、常用属性
- Direction : 获取或设置一个值,该值表示参数是只可输入、只可输出、双向还是存储过程返回值参数。
- ParameterName : 获取或设置参数的名称。
- Size : 获取或设置列中数据的最大大小。
- SqlDbType : 获取或设置参数的数据类型,语法:SqlDbType.Xxxx。
- Value : 获取或设置该参数的值。
4、常用方法
Command对象.Parameters.add(Parameter对象) ;
Command对象.Parameters.AddRange(Parameter对象数组) ;
5、操作
第一:定义参数化的SQL语句,参数的语法:@参数名称
string sql = "insert into student(name,age) values (@xm,@age)" ;
第二:创建SqlParameter对象或SqlParameter对象数组
SqlParameter param1 = new SqlParameter("@xm","张三") ;
SqlParameter param2 = new SqlParameter("@age",18) ;
//或
SqlParameter[] ps =
{
new SqlParameter("@xm","张三"),
new SqlParameter("@age",18)
}
第三:添加参数
Command对象.Parameters.Add(param1) ;
Command对象.Parameters.Add(param2) ;
//或
Command对象.Parameters.AddRange(ps) ;
四、DataReader对象:SqlDataReader
1、作用
读取查询的数据
2、特点
- 只读(而DataSet可读可写)
- 以流的方式,单向读取
- 一次只能读取一条记录
3、使用-创建对象(构造方法) ??
通过Command对象的ExecuteReader()方法返回(创建)DataReader对象。
4、常用属性
- FieldCount :返回列数(字段数量)
- HasRows :是否存在数据(记录、行)
- IsClosed :DataReader对象是否关闭
5、常用方法
- Read() : 读取记录中的数据
- Close() : 关闭DataReader对象
- getValue() : 获取指定字段的数据
- GetValues() : 获取全部字段的数据
- IsNull() : 判断指定字段的数据是否为Null值
6、操作
第一:执行查询的SQL语句,获取DataReader对象的实例
SqlDataReader reader = Command对象.ExecuteReader() ;
第二:循环的读到数据
while(reader.read()
{
//读取数据
}
注,读到数据的方式有:
方式一:通过下标读取(下标从0开始)
数据类型 变量 = (数据类型)SqlDataReader对象[下标] ;
方式二:通过字段名称读取
数据类型 变量 = (数据类型)SqlDataReader对象["字段名称"] ;
第三:关闭SqlDataReader对象
reader.Close() ;