ADO相关对象

一、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() ;
上一篇:可以从类型为SqlDbType.Xml的输出SqlParameter创建XmlReader吗?


下一篇:WPF_多个表新增