第1章 走进.NET数据库开发
1.1.1 服务器和客户机
1.1.2 TCP/IP协议
1.1.3 IP地址
1.1.4 域名
1.1.5 端口
1.2.1 桌面数据库与网络数据库
1.2.2 数据库系统相关概念
1.2.3 表
1.2.4 码
1.2.5 索引
1.2.6 视图
1.3.1 软件开发方法概述
1.3.2 软件体系结构概述
1.3.3 开发工具的选择
1.3.4 后台数据库的选择
1.4.1 .NET产生的背景
1.4.2 .NET是什么
1.4.3 .NET应用程序
1.5.1 安装不同的.NET Framework
1.5.2 “一次编码,到处运行”的梦想
1.5.3 跨平台、跨语言的.NET
1.5.4 剖析.NET Framework的结构
1.6.1 为什么需要XML
1.6.2 XML是什么
1.6.3 XML有什么特点
1.6.4 XML和HTML的比较
1.6.5 XML做什么
1.6.6 XML的体系结构
1.6.7 XML的语法基础
1.7 本章小结
第2章 开发第1个.NET数据库程序
2.1 构建开发环境 39
2.1.1 C/S模式的开发环境 39
2.1.2 B/S模式的开发环境 40
2.1.3 本书的开发环境 41
2.1.4 构建本书的开发环境 42
2.2 开发第1个.NET数据库程序 44
2.2.1 创建SQL Server 2005用户数据库 44
2.2.2 开发.NET数据库程序 49
2.3 剖析第1个.NET数据库程序 53
2.3.1 Visual C# 53
2.3.2 解决方案 53
2.3.3 项目 54
2.3.4 解决方案、项目和程序 54
2.3.5 项目的物理文件结构 54
2.3.6 项目的两种编译版本 56
2.3.7 命名空间 57
2.3.8 设置项目的启动文件 58
2.3.9 Program.cs文件代码分析 59
2.4 本章小结 61
3.1 开发过程 62
3.1.1 创建空白Windows Form项目 62
3.1.2 在项目中添加数据源 63
3.2 剖析Form数据库项目结构 69
3.2.1 项目的文件结构 69
3.2.2 设置项目的启动属性 72
3.2.3 剖析Program.cs文件的代码 73
3.2.4 剖析Form.cs文件的代码 75
3.2.5 项目中数据的流向 77
3.2.6 .NET数据库项目开发相关技术 82
3.3 本章小结 82
第4章 管理SQL Server 2005 83
4.1 主要管理工具 83
4.1.1 Management Studio 83
4.1.2 Configuration Manager(配置管理器) 86
4.2 管理基础概念 87
4.2.1 实例 87
4.2.2 本地系统账户与域用户账户 89
4.2.3 Windows身份验证模式与混合模式 94
4.2.4 IPC 94
4.2.5 网络库 95
4.3 配置常见网络环境 96
4.3.1 配置共享内存的SQL Server 2005网络 96
4.3.2 配置TCP/IP的SQL Server 2005网络 98
4.4 服务器日常管理 103
4.4.1 暂停服务器 104
4.4.2 关闭服务器 105
4.4.3 启动服务器 106
4.4.4 配置服务器 107
4.5 本章小结 110
第5章 管理SQL Server 2005数据库 111
5.1 SQL Server 2005数据库基础概念 111
5.1.1 SQL Server 2005数据库的分类 111
5.1.2 SQL Server 2005数据库的逻辑结构 114
5.1.3 SQL Server 2005数据库的物理结构 116
5.1.4 SQL Server 2005数据库的命名原则 117
5.2 创建数据库 117
5.2.1 在Management Studio中创建数据库 117
5.2.2 用Create Database语句创建数据库 120
5.2.3 自动产生Create Database语句 122
5.3 管理数据库 123
5.3.1 设置数据库的访问用户 123
5.3.2 给数据库添加文件 124
5.3.3 分离数据库 124
5.3.4 附加数据库 126
5.4 管理表 128
5.4.1 创建表 128
5.4.2 修改表结构 131
5.5 管理索引 132
5.5.1 用Management Studio创建索引 132
5.5.2 用Create Index语句创建索引 137
5.6 用Transact-SQL操作数据 138
5.6.1 Transact-SQL的语法约定 138
5.6.2 Transact-SQL的数据对象命名方法 138
5.6.3 什么是Schema(架构) 140
5.6.4 几种典型的Transact-SQL语句 141
5.6.5 用Insert语句录入数据 142
5.6.6 用Update语句更新数据 142
5.6.7 用Delete语句删除数据 142
5.7 用Transact-SQL查询数据 143
5.7.1 选择当前工作数据库 143
5.7.2 Select语句的语法 144
5.7.3 Select语句中常见的运算符 144
5.8 本章小结 147
第6章 ADO.NET的体系结构 148
6.1 ADO.NET的前身——ADO 148
6.1.1 数据应用程序开发思路 149
6.1.2 应运而生的ADO 150
6.1.3 从ADODC到ADODB 151
6.1.4 一个典型的ADO编程的实例 153
6.1.5 ADO的不足 154
6.2 从ADO到ADO.NET 154
6.2.1 ADO.NET是什么 155
6.2.2 ADO.NET和.NET Framework的关系 156
6.2.3 数据提供程序 156
6.2.4 DataSet对象 157
6.2.5 ADO.NET访问数据库的两种机制 157
6.3 ADO.NET的具体实现 159
6.3.1 System.Data命名空间 159
6.3.2 System.Data.Common命名空间 159
6.3.3 System.Data.Odbc命名空间 160
6.3.4 System.Data.OleDb命名空间 160
6.3.5 System.Data.OracleClient命名空间 161
6.3.6 System.Data.SqlClient命名空间 161
6.3.7 System.Data.SqlServerCe命名空间 161
6.4 数据提供程序 162
6.4.1 为SQL Server选择数据提供程序 163
6.4.2 为Oracle选择数据提供程序 163
6.4.3 为Access选择数据提供程序 163
6.5 DataSet对象 163
6.5.1 从RecordSet到DataSet 164
6.5.2 DataSet对象的结构 164
6.6 数据库访问接口 165
6.6.1 什么是接口 165
6.6.2 ODBC接口 165
6.6.3 OLEDB接口 167
6.6.4 OLEDB-ODBC接口 168
6.6.5 理解3种接口 169
6.7 本章小结 169
第7章 Connection对象 170
7.1 ADO.NET中的Connection对象 170
7.2 SqlConnection对象连接SQL Server 171
7.2.1 实例 171
7.2.2 SqlConnection对象的主要属性 174
7.2.3 SqlConnection对象的主要方法 177
7.2.4 SqlConnection对象的ConnectionString 178
7.2.5 ConnectionString的典型配置 179
7.3 OleDbConnection对象连接SQL Server 186
7.3.1 实例 186
7.3.2 OleDbConnection对象的主要属性 187
7.3.3 OleDbConnection对象的主要方法 188
7.3.4 OleDbConnection对象的ConnectionString 188
7.3.5 ConnectionString的典型配置 189
7.4 OdbcConnection对象连接SQL Server 191
7.4.1 实例 191
7.4.2 OdbcConnection对象的主要属性 196
7.4.3 OdbcConnection对象的主要方法 197
7.4.4 OdbcConnection对象的ConnectionString 197
7.4.5 ConnectionString的典型配置 198
7.5 连接池的使用 199
7.5.1 什么是连接池 200
7.5.2 什么时间创建连接池 200
7.5.3 什么时间关闭连接池 200
7.5.4 连接池达到极限时如何处理 200
7.5.5 如何启动连接池 201
7.5.6 如何关闭连接池 201
7.5.7 使用SqlConnection对象的连接池 201
7.5.8 使用OleDbConnection对象的连接池 204
7.5.9 使用OdbcConnection对象的连接池 207
7.5.10 连接池内存在哪里 210
7.6 本章小结 210
第8章 Command对象 211
8.1 ADO.NET中的Command对象 211
8.2 SqlCommand对象操作SQL Server 212
8.2.1 实例 212
8.2.2 创建Command对象的方法 215
8.2.3 SqlCommand对象的主要属性 215
8.2.4 SqlCommand对象的主要方法 216
8.2.5 使用ExecuteScalar方法 217
8.2.6 使用ExecuteReader方法 219
8.2.7 使用ExecuteNonQuery方法 220
8.3 OleDbCommand对象操作SQL Server 222
8.3.1 实例 222
8.3.2 OleDbCommand对象的主要属性 224
8.3.3 OleDbCommand对象的主要方法 224
8.4 OdbcCommand对象操作SQL Server 225
8.4.1 实例 225
8.4.2 OdbcCommand对象的主要属性 226
8.4.3 OdbcCommand对象的主要方法 227
8.5 带参数的Command对象 228
8.5.1 SQL语句的执行机制 228
8.5.2 带参数Command对象的执行机制 228
8.5.3 实例 229
8.6 本章小结 232
第9章 DataReader对象 233
9.1 ADO.NET中的DataReader对象 233
9.2 SqlDataReader对象操作SQL Server 234
9.2.1 实例 234
9.2.2 创建SqlDataReader对象的方法 237
9.2.3 SqlDataReader对象的主要属性 237
9.2.4 SqlDataReader对象的主要方法 238
9.3 OleDbDataReader对象操作SQL Server 239
9.3.1 实例 239
9.3.2 创建OleDbDataReader对象的方法 241
9.3.3 OleDbDataReader对象的主要属性 241
9.3.4 OleDbDataReader对象的主要方法 242
9.4 OdbcDataReader对象操作SQL Server 244
9.4.1 实例 244
9.4.2 创建OdbcDataReader对象的方法 245
9.4.3 OdbcDataReader对象的主要属性 246
9.4.4 OdbcDataReader对象的主要方法 246
9.5 DataReader对象的高级用法 248
9.5.1 使用序数索引器 248
9.5.2 使用列名索引器 249
9.5.3 使用类型访问器 251
9.5.4 从结果集得到信息 260
9.5.5 获得表架构信息 262
9.6 本章小结 266
第10章 DataAdapter对象 267
10.1 ADO.NET中的DataAdapter对象 267
10.1.1 DataAdapter对象的工作原理 267
10.1.2 ADO.NET中的DataAdapter对象 268
10.2 SqlDataAdapter对象操作SQL Server 268
10.2.1 实例 269
10.2.2 项目代码分析 270
10.3 创建DataAdapter对象的方法 271
10.3.1 SqlDataAdpter() 271
10.3.2 SqlDataAdpter(SqlCommand) 273
10.3.3 SqlDataAdpter(String,SqlConnection) 275
10.3.4 SqlDataAdpter(String,String) 276
10.4 OleDbDataAdapter对象操作SQL Server 278
10.5 OdbcDataAdapter对象操作SQL Server 280
10.6 DataAdapter对象的主要属性 281
10.6.1 主要属性 281
10.6.2 DataAdapter对象如何使用属性 282
10.7 DataAdapter对象的Fill方法 282
10.7.1 Fill(DataSet名称) 283
10.7.2 Fill(DataTable名称) 284
10.7.3 Fill(DataSet名称,String) 286
10.7.4 指定起始记录编号的Fill方法 286
10.8 本章小结 288
第11章 DataSet对象 289
11.1 ADO.NET中的DataSet对象 289
11.1.1 DataSet对象的结构 290
11.1.2 DataSet对象的优点 290
11.2 向DataSet对象中填充数据 290
11.2.1 用DataAdapter对象填充 290
11.2.2 用TableAdapter对象填充 291
11.3 DataSet对象的属性和方法 291
11.3.1 DataSet对象的主要属性 291
11.3.2 DataSet对象的主要方法 292
11.4 向DataSet对象中填充数据 292
11.5 更新DataSet的数据并提交 295
11.5.1 DataAdapter的Update方法 295
11.5.2 实例 295
11.6 插入DataSet数据并提交 298
11.6.1 完整实例 298
11.6.2 向DataSet对象中录入新的数据行 301
11.6.3 将插入的数据提交到数据源中 301
11.7 删除DataSet数据并提交 301
11.7.1 完整实例 302
11.7.2 代码剖析 304
11.8 使用CommandBuilder对象 304
11.8.1 CommandBuilder对象使用方法 304
11.8.2 使用CommandBuilder对象更新 305
11.8.3 使用CommandBuilder对象插入 306
11.9 本章小结 308
第12章 DataTable及其相关对象 309
12.1 ADO.NET中的DataTable对象 309
12.1.1 DataTable对象的使用 309
12.1.2 创建DataTable对象 310
12.1.3 DataTable对象主要属性 310
12.1.4 DataTable对象主要方法 311
12.2 ADO.NET中的DataColumn对象 312
12.2.1 DataColumn对象的使用 312
12.2.2 DataColumn对象主要属性 312
12.2.3 DataColumn对象主要方法 313
12.3 ADO.NET中的DataRow对象 314
12.3.1 DataRow对象的使用 314
12.3.2 DataRow对象主要属性 314
12.3.3 DataRow对象主要方法 315
12.4 ADO.NET中的Constraint对象 316
12.4.1 Constraint对象的使用 316
12.4.2 Constraint对象主要属性 317
12.4.3 Constraint对象主要方法 317
12.5 ADO.NET中的DataRelation对象 318
12.5.1 Constraint对象的使用 318
12.5.2 DataRelation对象主要属性 318
12.5.3 DataRelation对象主要方法 319
12.6 ADO.NET中的DataTableReader对象 320
12.6.1 DataTableReader对象的使用 320
12.6.2 DataTableReader对象主要属性 320
12.6.3 DataTableReader对象主要方法 321
12.7 ADO.NET中的DataView对象 323
12.7.1 DataView对象的使用 323
12.7.2 DataView对象主要属性 324
12.7.3 DataView对象主要方法 325
12.8 综合实例 326
12.8.1 创建并使用DataTable对象 326
12.8.2 定义DataTable对象的主键 329
12.8.3 将数据添加到DataTable对象 332
12.8.4 对数据进行筛选和排序 334
12.8.5 行状态和行版本 337
12.8.6 创建和使用DataTableReader对象 340
12.8.7 创建和使用DataView对象 342
12.9 本章小结 344
第13章 数据绑定 345
13.1 TextBox对象的数据绑定 345
13.1.1 实例 346
13.1.2 项目分析 350
13.1.3 编程实现 352
13.2 DataGridView对象的数据绑定 356
13.2.1 实例 357
13.2.2 项目分析 359
13.3 ComboBox对象的数据绑定 364
13.3.1 实例 364
13.3.2 项目分析 367
13.4 本章小结 368
第14章 系统开发中常见问题 369
14.1 界面制作 369
14.1.1 菜单制作 369
14.1.2 快捷工具栏制作 378
14.1.3 状态栏制作 387
14.2 BLOB类型的大值数据操作 392
14.2.1 插入BLOB数据的Insert语句 392
14.2.2 用数据绑定插入BLOB数据 394
14.2.3 导出BLOB数据 400
14.3 基于事务的编程 403
14.3.1 事务的特性 403
14.3.2 事务的状态 405
14.3.3 SQL Server 2005的事务模式 406
14.3.4 编程中为什么要使用事务 407
14.3.5 System.Transactions命名空间 408
14.3.6 实例:显式分布式事务编程 408
14.3.7 实例:显式本地事务编程 411
14.3.8 实例:隐式事务编程 413
14.4 本章小结 415
第15章 完整的系统开发 416
15.1 后台数据库设计 416
15.1.1 表结构设计 416
15.1.2 附加数据库 422
15.2 第一次开发的系统 423
15.2.1 建立项目总体结构 423
15.2.2 数据集对象的结构 428
15.2.3 设计子窗体FormUser 429
15.2.4 设计父窗体FormMain 432
15.2.5 如何修改配置 434
15.2.6 最终完成的系统 434
15.2.7 BingdingNavigator对象的秘密 437
15.3 编程开发的系统 440
15.3.1 剖析项目总体结构 440
15.3.2 剖析项目的运行过程 441
15.3.3 公用函数类PublicFunction.cs的设计 444
15.3.4 FormMain窗体的设计 447
15.3.5 用户管理窗体FormUser的设计 452
15.3.6 用户查询窗体FormUserSearch的设计 456
15.3.7 教师信息管理窗体FormTeacher的设计 459
15.3.8 教师信息查询窗体FormTeacherSearch
15.3.8 的设计 463
15.3.9 教师信息打印窗体FormTeacherPrint
15.3.8 的设计 466
15.3.10 学生信息管理窗体FormStudent的设计 469
15.3.11 学生信息查询窗体FormStudentSearch
15.3.11 的设计 474
15.3.12 学生信息打印窗体FormStudentPrint
15.3.12 的设计 477
15.3.13 选课管理窗体FormPitch的设计 480
15.3.14 选课查询窗体FormPitchSearch的设计 485
15.3.15 选课打印窗体FormPitchPrint的设计 488
15.3.16 课程管理窗体FormCourse的设计 491
15.3.17 课程查询窗体FormCourseSearch
15.3.17 的设计 495
15.3.18 课程打印窗体FormCoursePrint的设计 498
15.3.19 授课管理窗体FormElective的设计 501
15.3.20 授课查询窗体FormElectiveSearch
15.3.20 的设计 506
15.3.21 授课打印窗体FormElectivePrint
15.3.21 的设计 508
15.3.22 关于窗体FormAbout的设计 512
15.3.23 如何移植项目 515
15.4 本章小结 518
展开