作者:云都小生
概述
ADO.NET是.NET的一个模块,可以用于应用程序与数据库之间的交互(连接、操作)。
在这个模块中,支持了多种数据的连接、操作方法,这里主要是整理SqlServer数据库的相关类与相关操作。
SqlConnection类
SqlConnection继承自Connection,是数据库连接类。
//方法原型
public sealed class SqlConnection(){};
//构造方法 初始化一个新的SqlConnection实例
SqlConnection();
//构造方法 初始化一个新的SqlConnection实例,并将连接字符串作为参数
SqlConnection(String connStr);
//构造方法,首先是连接字符串,其次是SQL凭据
SqlConnection(String connStr,SqlCredential,cdt);
关于SQL凭据SqlCredential类的信息,在下面有补充说明。
连接字符串有两种格式;
//这个字符串是SQL身份认证的格式
string connStr1 = "Server=服务器名;Database=数据库名;user=用户名;pwd=密码;";
//这个字符串是Windows集成认证的格式
string connStr2 = "Server=服务器名;Database=数据库名;integrated security=true;";
SqlConnection提供的方法中,有一些比较重要的,如下:
//用于启动数据库事务
BeginTransaction()
//更改当前数据库
ChangeDatabase(String databaseName)
//更改指定用户的SQL Server密码
ChangePassword(String userName,String newPassword)
//关闭数据库连接
Close()
//打开数据库连接
Open()
SqlCommand类
SqlCommand类用于执行执行SQL指令的类,这个类也是一个封闭类,不能被继承。
方法原型:
public sealed class SqlCommand(){};
在这个类里面封装了两个关键的属性——Connectionn和CommandText。
SqlCommand sqlcom = new SqlCommand();
sqlcom.Connection = conn;
sqlcom.CommandText = sqlStr;
Connection是数据库连接对象,CommandText是需要执行的数据库指令。
//构造函数 初始化SqlCommand类的新实例
SqlCommand()
//构造方法 conStr是数据库指令
SqlCommand(String conStr)
//构造方法 conn是数据库连接对象
SqlCommand(String conStr,SqlConnection conn)
SqlCommand类中封装了这些方法
//它试图取消一个SqlCommand的执行
Cancel()
/创建一个新的SqlCommand对象,是当前实例的一个副本
Clone()
//通常这个方法用于读取结果集的所有信息,将这些信息都封装在一个DataReader,返回
ExecuteReader()
//这个方法只能返回结果集中第一行第一列的值
ExecuteScalar()
//返回执行语句后受影响的行数
ExecuteNonQuery()
SqlDataReader类
SqlDataReader用于从SQL Server数据库读取数据,SqlCommand.ExecuteReader()方法执行后会返回一整个结果集,这个结果集就是SqlDataReader对象。
SqlDataReader的原型如下
public class SqlDataReader(){};
SqlDataReaderd的属性包含
//获取与SqlDataReader关联的SqlConnection
Connection
//用于获取当前行中的列数
FieldCount
//用于一个值,指示SqlDataReader是否包含一行或多行
HasRows
//指示指定的SqlDataReader实例是否已关闭
IsClosed
//DataReader reader = command.ExecuteReader();
//reader["列名"] reader[0]
//这个属性像数组一样,来索引结果集中不同的列的值
Item[String]
Item[Int32]
我们来看看这个类提供的方法
//关闭SqlDataReader对象
Close()
//当读取SQL语句的结果时,它用来获得下一个结果
NextResult()
//从SQL Server数据中读取记录
Read()
DataSet类
DataSet类包含数据的数据集,在数据库连接没有开启的情况下可以获取数据,用来映射数据集。这是一个内存数据存储,可以同时容纳多个表(DataTable)。
DataSet类的构造方法如下
//初始化DataSet类的新实例
DataSet()
//使用给定名称初始化DataSet类的新实例
DataSet(string)
DataSet类的属性
//用于获取或设置当前DataSet的名称
DataSetName
//用于获取DataSet中包含的表的集合
Tables
DataSet类的方法
//删除所有表中的所有行来清楚任何DataSet中的所有数据
Clear()
//复制此DataSet的结构
Clone()
//复制此DataSet的结构和数据
Copy()
DataAdapter类
如果我们每一次检索数据库都需要连接一次数据库,那性能和效率是十分低下的。因为有了我们上面的DataSet,在没有连接的情况下,也可以访问映射数据。但是DataSet的数据怎么来呢?那就是DataApdater了。
这个类就是数据源跟DataSet之间的桥梁。我们的DataSet对象需要更新数据或者检索数据的时候,就需要通过DataAdapter对象。
方法原型(签名)
public class DataAdapter : Component, IDataAdapter
构造方法
DataAdapter()
DataAdapter(DataAdapter) 根据同一类型的对象初始化DataAdapter
接下来的笔记再多加一些关于DataSet和DataAdapter的应用。
2018/1/21 15:05:48 @Author:云都小生