21.8ADO.NET的连接层
主要通过一个例子引入了对连接对象(DbConnection),ConnectionStringBuilder,命令对象(Command)的介绍。
21.8.1DbConnection,包含了一些有用的只读成员。提供了数据库的timeout等信息,可以通过修改连接字符串来显示修改。
21.8.2ConnectionStringBuilder以编程的方式使用连接字符串。(把connectionstring的各组成部分拆成一个个成员,通过定义成员能得到一个完整的连接字符串。另外还可以方便的修改传入的连接字符串的属性)
21.8.3使用命令对象:介绍了DbCommand类型的成员。命令对象的作用主要是帮助进行SQL查询操作。
很有趣的一点是command类型其实就是在建立一个新数据库时可以自己定义的存储过程。比如定义了一个存储过程名叫GetPetName,之后就可以把这个名字作为command的参数传入command命令。详见21.10.7
21.9使用数据读取器
介绍了如何读取单个,多个结果集。
数据读取器有很有用的功能:getname,getvalue。结合使用fieldcount的for循环,可以不管表中是什么都能得到键值和对应的值。
在需要读取多个表的时候在command中添加相应的select语句。之后结合使用NextResult方法。
21.10构建可重用的数据访问库
介绍了如何对数据库进行插入,修改,删除操作。并将其封装成类库(.dll格式)
21.10.6使用参数化的命令对象:利用@占位符以编程的形式建立查询,一般用于存储过程(插入,更新和删除)的调用而较少用于查询。
21.10.7以一个小例子介绍了如何使用在数据库内的存储过程。
21.11创建控制台UI前端
介绍了一个控制台程序,可以通过用户输入字母来选择对数据库进行插入,更新,查询,删除等操作。使用了21.10中定义的类库。
21.12数据库事务
事务是一组数据库操作,作为一个整体,他们要么全部完成,要么全部失败。举例来说事务可以保证银行将用户的存款从一个账户转到另一个账户的时候不会出现在一个账户删除而在另一个账户没有增加的情况。在这种情况下整个操作会回滚到初始状态。
21.12.1介绍了ADO自带的事务对象的主要成员:主要包括回滚,提交,隔离等。
之后介绍了如何使用transaction事务操作来在必要的时候进行回滚。