目录 1
第1章在Web上显示数据 1
1.1 数据驱动的Web站点的优缺点 1
1.1.1优点 1
1.1.2缺点 2
1.2 数据源 3
1.2.1 数据库 3
1.2.2文本文件 4
1.2.3 XML 4
1.3从数据库中检索数据 5
1.2.4其他数据源 5
1.4 ADO.NET概述 7
1.4.1 Windows平台上数据访问的历史 7
1.4.2 ADO.NET体系结构 8
1.4.3数据提供者 10
1.5 数据驱动的应用程序体系结构 11
1.5.1 数据层、业务层和表示层 11
1.5.2用控件表示数据 13
1.6 Microsoft SQL Server Desktop Engine 14
1.6.1小型的SQLServer 14
1.6.2获得和安装MSDE 15
1.6.2使用MSDE 16
1.7本章小结 17
2.1 数据库术语和概念 18
第2章关系数据库 18
2.2数据和实体 20
2.3 关系数据库 21
2.3.1 SQL概况 23
2.3.2 Codd的12条规则 24
2.4 SQL简介 27
2.4.1 SELECT语句 27
2.4.2 INSERT、UPDATE以及DELETE语句 30
2.5 规范化 34
2.5.1第一范式(1NF) 35
2.5.3 第三范式(3NF) 36
2.5.2第二范式(2NF) 36
2.6 SQL与Access 37
2.7本章小结 38
第3章连接数据源 39
3.1什么是连接 39
3.1.1 ADO与ADO.NET连接之间的区别 40
3.1.2 ADO.NET中可用的数据库连接 41
3.2 连接语法 42
3.2.1 使用SQLServer.NET数据提供者进行连接 42
3.2.2 使用OLE DB.NET数据提供者连接MS Access 48
3.2.3 使用OLEDB.NET数据提供者连接Excel 51
3.2.4有关Connection对象的更多内容 56
3.2.5连接XML数据源 57
3.3 获取模式信息(OLE DB) 62
3.4更好的连接字符串 66
3.5 常见错误 67
3.6本章小结 68
第4章DataReader对象、Command对象和Web服务器控件 69
4.1 在ADO.NET和ASP.NET中处理和显示数据 69
4.1.1 Command对象 70
4.1.2 DataReader对象 71
4.2 使用DataReader 72
4.3 在ASP.NET中使用基于数据的控件 76
4.4列表框和下拉列表控件 78
4.5使用单选按钮列表 85
4.6使用复选框和列表框进行多项选择 88
4.6.1显示多项选择控件 88
4.6.2使用来自多个选项的数据 88
4.7 DataGrid控件 95
4.7.1表格的格式化设置 95
4.7.2行的格式化设置 97
4.7.3显示数据的更多方法 101
4.8 常见错误 102
4.9本章小结 102
5.1 DataSet对象 104
第5章使用DataSet对象读取数据 104
5.1.1 DataSet和DataReader 105
5.1.2 DataTable对象 106
5.1.3数据传送的6个步骤 106
5.1.4访问DataSet表中的行和列 110
5.1.5处理多个数据源 115
5.1.6使用DataView对象创建数据视图 131
5.2 DataGrid列的属性 136
5.3 DataGrid排序 142
5.4 DataGrid分页 147
5.5 Calendar控件和数据源 151
5.6根据下拉列表中的值进行过滤 155
5.7常见错误 162
5.8本章小结 162
第6章创建和插入记录 164
6.1 使用ASP.NET和ADO.NET插入数据 164
6.1.1关于INSERT语句 164
6.1.2主键码 164
6.1.3外键码 165
6.1.4强制性字段 166
6.1.5格式化语法 166
6.2 使用ADO.NET插入新记录 167
6.3 ASP.NET验证控件 170
6.4使用DataSet对象插入记录 176
6.5本章小结 190
第7章更新和删除记录 191
7.1更新数据库 191
7.1.1 SQLUPDATE语句 191
7.1.2使用Command对象更新记录 193
7.1.3使用DataSet更新记录 197
7.2删除数据 208
7.2.1 SQLDELETE语句 208
7.2.2使用Command对象删除记录 208
7.2.3使用DataSet删除记录 209
7.3验证数据 213
7.4本章小结 216
第8章使用存储过程 217
8.1 存储过程的优点 217
8.1.1事务处理 217
8.1.2速度 217
8.1.3过程控制 218
8.1.4安全性 218
8.1.5减少网络通信 218
8.1.6模块化 218
8.2调用存储过程 219
8.3创建存储过程 220
8.4将参数传递到存储过程中 226
8.4.1 SQL变量 227
8.4.2从Web页面传递参数 229
8.5存储过程输出参数 233
8.6本章小结 239
第9章 数据驱动的ASP.NET应用程序 240
9.1 处理数据库错误 240
9.1.1使用@@ERROR 240
9.1.2有效利用@@ERROR 243
9.1.3 使用RAISEERROR命令引发数据库错误 245
9.1.4在.NET中处理错误 248
9.2 事务处理 252
9.2.1 SQL中的事务处理 254
9.2.2 ADO.NET中的事务处理 258
9.3代码的组织结构 261
9.4数据安全性技巧 266
9.4.1 谨慎使用查询字符串的值 266
9.4.2不要使用系统管理员(sa)账户 268
9.4.3根据需要创建多个SQL用户 268
9.5 本章小结 269
第10章组件化 270
10.1组件化的含义 270
10.2使用类库的原因 271
10.2.1简化编程工作 271
10.1.2类库 271
10.1.1对组件的混乱理解 271
10.2.2封装 272
10.2.3重用性 273
10.2.4增强的持久性 273
10.3编写类库 273
10.3.1 Northwind的业务要求 274
10.3.2构造解决方案 274
10.3.3在Web页中使用类库 281
10.3.4小结 288
10.4.2概述NwtLibrary 289
10.4.1 设计用于数据库访问的类 289
10.4编写用于数据库访问的类库 289
10.4.3 Category,Product和Supplier类 291
10.4.4在Web应用程序中使用类库 299
10.5其他注意事项 303
10.5.1存储过程与类库 304
10.5.2兼容性 304
10.5.3复杂性 305
10.5.4记录文档 306
10.6本章小结 306
第11章性能 307
11.1性能确定 307
11.2.1 OLEDB和连接池 308
11.2连接池 308
11.2.2 SQLServer和连接池 309
11.2.3其他池属性 312
11.3性能计数器 313
11.4 DataSet、DataReader和Recordset 318
11.5类型化的DataSet和后期绑定的DataSet 321
11.6微调DataSet和DataReader 322
11.7本章小结 325
第12章构建数据驱动的Web应用程序 326
12.1 Wrox Auction站点概述 326
12.1.1基于Web的分类系统 326
12.1.2安装应用程序 328
12.2 ASP.NET页面流程 330
12.3创建应用程序 331
12.3.1创建新的应用程序 331
12.3.2预加载的代码 332
12.3.3设置配置信息 333
12.4编写应用程序 333
12.4.1 主页 333
12.4.2用户注册和登录 335
12.4.3管理出售的产品 352
12.4.4浏览和绑定 369
12.4.5完成销售 379
1 2.5增强应用程序 383
12.6本章小结 384