第1章 数据库应用系统体系结构 1
1.1 数据库应用系统体系结构 1
1.1.1 以文件服务器为中心的计算模式 1
目录 1
1.1.2 客户机—服务器计算模式 2
1.2 分布计算的软件环境 6
1.2.1 中间件技术——COBRA和COM+ 6
1.2.2 开发平台——J2EE和.NET 11
1.3 数据库访问技术 13
1.3.1 ODBC 13
1.3.3 RDO 14
1.3.2 DAO 14
1.3.4 OLE DB 15
1.3.5 ADO 15
1.3.6 JDBC 16
1.3.7 ADO.NET 16
1.4 .NET框架 17
1.4.1 什么是.NET框架 17
1.4.2 公共语言运行库 18
1.4.3 .NET框架类库 19
1.4.4 通用类型系统与公共语言规范 21
1.4.5 中间语言及JIT编译 21
1.4.6 编程语言 22
1.4.7 元数据 23
1.4.8 程序集 24
1.5 .NET环境下数据库应用系统的体系结构 26
1.5.1 N层系统结构 26
1.5.2 .NET对N层体系结构的影响 27
1.5.3 .NET环境下数据库应用程序的体系结构 29
习题 30
第2章 关系数据库基础 32
2.1 关系数据库管理系统的主要功能 32
2.2.1 SQL语句概述 35
2.2 基本SQL查询语言 35
2.2.2 SELECT单表查询语句 37
2.2.3 SELECT语句的查询条件 38
2.2.4 SELECT中的集合函数与AS子句 39
2.2.5 SELECT中行的分组和排序 40
2.2.6 多表查询 41
2.2.7 嵌套查询 42
2.2.8 Insert、Update和Delete语句 43
2.3 SQL Server 2000简介 44
2.3.1 关于SQL Server 2000 44
2.3.2 SQL Server 2000中可视化创建数据库 44
2.3.3 SQL Server 2000对标准SQL语言的支持 47
习题 48
第3章 C#语法描述 50
3.1 数据类型 51
3.2 变量和常量 52
3.2.1 变量 52
3.2.2 常量 55
3.3 类型转换 56
3.4 表达式 57
3.5 流程控制 58
3.5.1 条件语句 59
3.5.2 循环语句 59
3.5.3 编译控制 61
3.6 类 62
3.6.1 类的声明 62
3.6.2 类的成员 63
3.7 继承 74
3.8 异常处理 76
习题 77
第4章 .NET环境下的数据访问——ADO.NET 78
4.1 ADO.NET工作原理 78
4.2 .NET数据提供程序简介 79
4.2.1 .NET的四种数据提供程序简介 79
4.2.2 Connection类——连接数据库 80
4.2.3 Command类——执行数据库操作 82
4.2.4 DataReader类——读取数据 83
4.2.5 DataAdapter类——数据更新 85
4.3 DataSet类——数据处理 91
4.4 ADO.NET和ADO的比较 94
习题 96
第5章 连接数据库——Connection类 97
5.1 .NET数据提供程序 97
5.1.1 .NET数据提供程序概述 97
5.1.2 四种.NET数据提供程序 98
5.2.1 Connection类 102
5.2 用connection类连接数据库 102
5.2.2 用SqlConnection连接到SQL Server数据源 104
5.2.3 用OleDbConnection连接到OLE DB数据源 109
5.2.4 用OdbcConnection连接到ODBC数据源 113
5.2.5 用OracleConnection连接到Oracle数据源 117
5.2.6 关闭数据库连接 118
5.3 各种常见数据源的连接字符串 119
习题 122
第6章 数据库查询——Command类 124
6.1 创建Command对象 124
6.1.1 可视化创建SqlCommand对象 124
6.2.1 ExecuteReader方法 127
6.1.2 直接用代码创建SqlCommand对象 127
6.2 执行数据库查询 127
6.2.2 ExecuteNonQuery方法 128
6.2.3 ExecuteScalar方法 129
6.2.4 ExecuteXmlReader方法 130
6.3 执行参数化查询 130
6.4 调用存储过程 133
6.5 用DataReader或者DataSet读取数据 136
6.5.1 将数据存储在数据集内 136
6.5.2 直接执行数据库操作 137
习题 144
7.1 DataReader基础 145
第7章 数据读取——DataReader类 145
7.2 DataReader操作 147
习题 150
第8章 数据更新——DataAdapter类 151
8.1 DataAdapter类 151
8.1.1 DataAdapter类与其他查询类的不同之处 151
8.1.2 DataAdapter类剖析 152
8.2 用DataAdapter类获取数据 156
8.2.1 创建DataAdapter类 157
8.2.2 读取数据 158
8.3.1 直接使用Command类更新数据 162
8.3 用DataAdapter类更新数据 162
8.3.2 使用数据适配器更新数据 165
8.4 使用事务更新数据和处理并发问题 169
8.4.1 使用事务更新数据 169
8.4.2 处理并发问题 170
习题 172
第9章 数据处理——DataSet类 174
9.1 DataSet类 174
9.1.1 DataSet的功能和特性 174
9.1.2 DataSet的结构 176
9.2.1 创建DataSet对象 178
9.2 使用DataSet类 178
9.2.2 从DataAdapter填充DataSet 179
9.2.3 数据表(DataTable) 184
9.2.4 数据列(DataColumn) 190
9.2.5 数据行(DataRow) 197
9.2.6 约束(Constraint) 205
9.3 搜索、排序和筛选 207
9.3.1 使用Find方法筛选数据行 207
9.3.2 使用Select方法筛选数据行 208
9.3.3 数据视图(DataView)类 210
9.4.2 创建DataRelation对象 214
9.4.1 关系(DataRelation)类 214
9.4 使用DataRelation处理DataSet中的关系数据 214
9.4.3 导航表间数据 216
9.4.4 DataRelation与约束 218
习题 218
第10章 事务处理 220
10.1 事务基础 220
10.1.1 什么是事务 220
10.1.2 事务的属性 221
10.1.3 事务状态 221
10.1.4 隔离级别 222
l0.3 ADO.NET事务支持 224
10.2 数据库应用系统中的事务 224
10.4 ADO.NET事务对象 225
10.5 使用ADO.NET执行事务 226
10.5.1 在事务中执行Command对象 226
10.5.2 在事务中用DataSet更新数据源 228
10.5.3 Connection对事务的限制 230
10.6 保存点 231
10.7 隔离级别 232
1O.7.1 ADO.NET和SQL Server的隔离级别 232
10.7.2 ADO.NET中使用隔离级别 232
10.8 事务与性能 233
习题 234
第11章 性能 235
11.1 优化数据访问 236
11.1.1 使用DataReader还是DataSet 236
11.1.2 存储过程 237
11.1.3 缓存数据 238
11.2 连接池 240
11.3 消息队列 242
11.3.1 消息队列的类型 242
11.3.2 发送消息 243
11.3.3 接收消息 244
习题 246
第12章 .NET环境下数据库应用实例 247
12.1 个案提出 247
12.2 项目生命周期 247
12.2.1 需求分析 248
12.2.2 执行阶段的其他任务 249
12.3 客户管理案例开发细节 257
12.3.1 建立表结构 257
12.3.2 Windows程序 258
12.3.3 客户管理项目中各个子模块的详细介绍 263
习题 286
主要参考文献 287