
| 自1994年撰写《Visual Studio与SQL Server开发指南》的第1版起,william Vaughn就已经向全世界的开发人员提供了如何使用Visual Basic和Visual Basic.NET等RAD语言来访问并管理SQLServer的诸多细节。第7版在前几版的基础上,新增了更多内容与技术。在这一版中,作者将自己如何构建应用程序的真知灼见提供给开发人员,以实现开发人员和代码性能的最优化。对于开发人员而言,理解如何最大限度地利用Visual Studio和SOL Server的功能,而不被它们的复杂性所牵制显得尤为重要。《Visual Studio与SQL Server开发指南》特色更鲜明,因为它是关于Visual Studio和sQL Server提供的最新开发工具的权威指南,而且对于希望在众多平台之间作选择的开发人员来说,它也是提供体系结构建议和丰富示例的可靠平台。初学者和专家都可以从中获得全面的逐级指导,轻松掌握最新版本的Visual Studio和SQL Server。《Visual Studio与SQL Server开发指南》涵盖的核心主题数据访问体系结构及如何为Windows Forms、ASP.NET、XML Web Services及SOL Server CLR可执行文件选择最佳策略。SOL Server和关系数据库的基本原理和内部体系。有效且安全地使用最新的AD0NET数据提供者。如何通过避免常见的错误来保护数据库的安全。如何用更短的时间和更少的资源构建安全、高效及可伸缩的应用程序。如何充分利用SQI Sever CLR的可执行功能及何时使用这些功能。如何与数据库管理员一起维护数据库的完整性和安全性。在利用(或不利用)现有SQL Server Reporting Services技术的情况下,使用新的visual Studio报表控件安全、方便地展示数据。 |
| William R.Vaughn于1972年进入计算机领域工作。他获得了Mary Hardin-Baylor 大学的计算机科学学士学位和Texas大学的跨学科研究硕士学位。Arizona Tempe的Advancing Computer Technology大学授予他荣誉博士学位。Bill早年从事大型计算机的数据处理工作,20世纪70年代末期转入个人计算机领域中。在这一领域中,他曾在多家公司工作,这些公司包括MosteMUnited Technologies、Challenge Systems、Digital Research 以及CPT Corporation。所从事的工作包括Texas DPS Narcotics Service和EDS(由Ross Perot招聘进入并为其工作)。在Pc领域工作多年之后,他于1986年加入Microsoft,同年进入Windows developer liaison(Windows开发人员联络)小组。在接下来的14年中,他曾在Microsoft的许多部门工作,包括MicrosoftUniversity、VisualBasic文档小组、Visual Studio市场小组以及Internal Technical Education(内部技术教育)小组。2000年,他从Microsoft退休,并成立了自己的公司Beta V Corporation。Bill不仅撰写了7本畅销的Hitchhiker's Guide图书f第4本、第5本和第6本由Microsoft Press出版),而且还为APress 撰写了其他图书,包括销量极佳的ADO andADO.NETExamples andBestPractices一书。Bill与Peter Blackburn还合著了Hitchhiker's Guide to SQZ Server 2000 Reporting Services fAddison.Wesley)--书。Bill最新的著作是Hitchhiker's Guide to SQL Server Everywhere,这也是他撰写的第一本电子书。Bill为SQL Server Magazine、MSDN以及其他杂志撰写前瞻性的文章,他同时也是SQL Server Magazine的优秀编辑。除此之外,Bill每两周为Processor.COMmagazine杂志撰写社论。他是一位顶级的演讲家,曾在TechEd的主要会议,DevWeek、Dev Connections、SQL Connections、VBUG以及其他国际会议上发表演讲。Bill也是Microsoft的MVP和INETA Speaker’S Bureau的成员之一。 Peter Blackburn于1981年进入计算机领域工作。他获得了英国剑桥大学的计算机科学学士学位。在自己创立的咨询公司Boost Data Limited中,Peter设计、构建并实现了规模不等的数据库系统,其中包括基于SQL Server的汇报系统。他长期从事于Microsoft Reporting Services的开发和测试工作,并保持着与开发小组的直接联系。同样,Peter也是Microsoft MVP。他不仅通过新的项目组和beta程序为开发人员提供支持,而且为开发小组提供SQL Server和Reporting Services使用方法的培训。在.NET正式发布之前,Peter 和他的公司Boost Data已经与之进行了密切的合作。因此,他们能够保证许多主要.NET 图书的技术准确性。Peter居住在英国,但是他经常在全球旅行,进行咨询和演讲,同时,他还为开发人员、MVP小组以及Microsoft本身提供支持。 |
| 第1章 探索应用程序的体系结构11.1 概述11.2 选择正确的体系结构11.3 理解工具集3 1.3.1 ADO和ADO.NET的发展历程3 1.3.2 Jet和ODBC的产生4 1.3.3 数据访问对象的产生5 1.3.4 OLE DB的产生5 1.3.5 ADO.NET的产生61.4 了解应用程序的设计约束7 1.4.1 影响设计的因素8 1.4.2 在实现之前进行设计101.5 选择正确的数据访问接口11 1.5.1 选择正确的数据访问提供者12 1.5.2 SQL Server Everywhere121.6 选择正确的数据库管理系统18 1.6.1 SQL Server开销18 1.6.2 SQL Server的安全性19 1.6.3 性能20 1.6.4 多用户问题26 1.6.5 可伸缩性问题27 1.6.6 局限性问题28 1.6.7 客户端的限制29 1.6.8 服务器的限制30 1.6.9 维护和管理30 1.6.10 管理维护任务31 1.6.11 数据恢复的重要性31 1.6.12 管理资源351.7 理解基本的数据访问体系结构36 1.7.1 多层设计36 1.7.2 建立独立的应用程序38 1.7.3 基于ASP Browser的体系 结构491.7.4 XML Web 服务的体系结构501.8 小结50第2章 SQL Server的工作原理532.1 概述532.2 服务器和版本53 2.2.1 SQL Server的并行执行56 2.2.2 SQL Server Express Edition简介56 2.2.3 Workgroup Edition简介642.3 安装SQL Server642.4 运行SQL Server服务70 2.4.1 检查SQL Server服务70 2.4.2 启动SQL Server服务722.5 浏览SQL Server系统数据库73 2.5.1 SQL Server实例73 2.5.2 多个实例或多个数据库?74 2.5.3 用户和系统数据库74 2.5.4 创建用户数据库76 2.5.5 管理用户数据库762.6 理解SQL Server的安全系统77 2.6.1 SQL Server 2005中的对象78 2.6.2 系列问题:SQL Server 2005对所有权的说明81 2.6.3 理解登录、用户名以及模式822.7 管理SQL Server的连接87 2.7.1 理解数据访问接口的角色88 2.7.2 理解协议88 2.7.3 打开连接89 2.7.4 调试连接92 2.7.5 选择连接策略942.8 使用SQL Query Tool962.9 创建SELECT查询98 2.9.1 使用表和列的别名100 2.9.2 SELECT操作简介101 2.9.3 理解WHERE子句101 2.9.4 通过参数传递字面值102 2.9.5 减少返回的行数103 2.9.6 通过WHERE子句执行JOIN操作104 2.9.7 处理特定类型的查询问题1082.10 创建和查询视图1182.11 实现业务规则1212.11.1 实现具有扩展属性的业务规则1222.11.2 通过T-SQL规则、约束和默认值实现业务规则1272.12 User-Defined(别名)类型1292.13 实现约束1302.14 通过批处理文件和脚本来管理数据库和查询1322.15 查询优化器和查询计划133 2.15.1 查看和调整查询计划133 2.15.2 检查客户统计数据和改变计划135 2.15.3 执行查询计划1382.16 理解缓存1382.17 执行动作命令140 2.17.1 插入新行141 2.17.2 更新行1472.18 存储过程简介1552.19 触发器简介157 2.19.1 创建DML触发器157 2.19.2 创建DDL触发器1582.20 通过事务来保护数据完整性1582.21 管理功能159 2.21.1 附加.MDF数据库文件159 2.21.2 设置Auto Close选项161 2.21.3 导入和导出数据161 2.21.4 备份SQL Server数据库1622.22 事务日志的使用1632.23 小结163第3章 关系数据库1011653.1 概述1653.2 建立牢固的数据库设计基础1653.3 理解关系数据库的正规化1673.4 创建表、行和列169 3.4.1 SQL Server针对关系数据库的存储方式169 3.4.2 选择正确的数据类型1783.5 小结183第4章 Visual Studio入门1854.1 概述1854.2 我的经历1854.3 安装正确版本的Visual Studio186 4.3.1 处理CTP或Beta版本187 4.3.2 典型的安装过程187 4.3.3 安装MSDN文档1914.4 启动Visual Studio1924.5 定制Visual Studio 2005193 4.5.1 保存和加载自定义的配置195 4.5.2 创建自定义的项目模板197 4.5.3 联机配置或本地帮助2024.6 配置服务器(或数据库)管理器202 4.6.1 通过Server Explorer创建新的数据库203 4.6.2 在代码中创建新的数据库2054.7 创建和管理数据库连接2054.8 通过Server Explorer管理数据库对象2124.9 通过查询设计器管理查询222 4.9.1 熟悉Query Designer222 4.9.2 Query Designer窗格223 4.9.3 派生表的定义225 4.9.4 修改查询类型225 4.9.5 Query Designer(查询设计器)—— 重述2324.10 通过Server Explorer来查看同义词2334.11 通过Server Explorer管理类型2344.12 使用Server Explorer管理汇编2374.13 使用Server Explorer管理服务器2374.14 小结240第5章 用Server Explorer管理 可执行程序2415.1 概述2415.2 创建和编辑存储过程241 5.2.1 比较SQL Server 2005和Visual Studio 2005242 5.2.2 进入SQL Server Management Studio Express2435.3 创建新存储过程2435.4 用Run Selection执行T-SQL2505.5 调试存储过程250 5.5.1 针对本地实例的T-SQL调试251 5.5.2 在存储过程中用断点调试2535.6 在远程实例上调试存储过程2555.7 从代码调试存储过程2585.8 使用Server Explorer管理函数2605.9 小结268第6章 构建数据源、数据集和表适配器2696.1 概述2696.2 创建YADAI的原因2706.3 强类型数据是否重要2716.4 什么是数据源2726.5 什么是TableAdapter2756.6 TableAdapter中缺少什么2766.7 创建基于数据库的数据源2776.8 配置TableAdapter283 6.8.1 添加参数到查询中289 6.8.2 选择查询方法进行生成2916.9 使用拖放绑定TableAdapter294 6.9.1 定制生成的UI296 6.9.2 使用SmartTag管理绑定控件297 6.9.3 绑定到Details298 6.9.4 绑定到自定义控件2986.10 不通过拖放直接使用TableAdapter2996.11 在Data Source Designer中管理DataTable类300 6.11.1 设置DataTable属性300 6.11.2 生成的窗体代码3016.12 在应用程序间移动数据源3016.13 创建Web服务数据源302 6.13.1 什么是Web服务302 6.13.2 构造一个示例Web服务304 6.13.3 使用和测试Web服务310 6.13.4 在UI中提供Web服务数据源3126.14 小结313第7章 管理数据工具和数据绑定3157.1 概述3157.2 漫游Visual Studio Toolbox316 7.2.1 提供废弃的数据访问控件317 7.2.2 找到正确的控件318 7.2.3 理解 Tool Tray3197.3 使用Dataset Toolbox元素3197.4 数据绑定3217.5 使用BindingSource 类326 7.5.1 使用EndEdit和CancelEdit 方法331 7.5.2 使用BindingSource类的数据绑定3337.6 使用BindingNavigator控件3347.7 使用DataGridView控件3357.8 使用ProgressBar控件3377.9 小结338第8章 ADO.NET入门3398.1 概述3398.2 数据访问的挑战3398.3 ADO.NET总览3408.4 使用Visual Studio Object Browser研究ADO.NET342 8.4.1 用Class Diagram研究 ADO.NET343 8.4.2 解释名称空间345 8.4.3 对类名称的处理346 8.4.4 使用简写来寻址类3468.5 实例化ADO.NET对象347 8.5.1 理解代码的作用域347 8.5.2 理解对象实例化349 8.5.3 Visual Basic .NET中的Using代码块3508.6 研究System.Data.SqlClient名称空间3518.7 研究SqlClient名称空间3528.8 研究System.Data名称空间359 8.8.1 解释System.Data命名约定359 8.8.2 理解System.Data.DataSet和DataTable对象360 8.8.3 是否使用JOIN—— 这是个问题3708.9 小结371第9章 建立连接3739.1 概述3739.2 连接策略—— 包括安全3739.3 配置服务器及防火墙3759.4 连接策略380 9.4.1 实时连接380 9.4.2 持久连接381 9.4.3 理解MARS及其含义381 9.4.4 为连接对象选择正确的作用域3829.5 建立连接3839.6 编写代码创建连接386 9.6.1 什么是ConnectionString386 9.6.2 用SqlConnectionStringBuilder类创建一个ConnectionString386 9.6.3 保护ConnectionString388 9.6.4 保存ConnectionString388 9.6.5 建立Connection对象389 9.6.6 设置服务器名称关键字392 9.6.7 为实例设置别名393 9.6.8 重访问其他关键字395 9.6.9 配置连接池关键字的值3969.7 理解并管理连接池397 9.7.1 监控连接池404 9.7.2 防止连接池的溢出4059.8 为其他提供者建立ConnectionString4069.9 使用Visual Studio建立ConnectionString4089.10 (半)自动打开和关闭连接4119.11 理解Connection属性4119.12 使用Connection方法4139.13 处理Connection事件4179.14 管理Connection异常418 9.14.1 关于异常419 9.14.2 理解SqlException类420 9.14.3 处理异常4229.15 小结422第10章 管理SqlCommand对象42310.1 概述42310.2 创建SqlCommand对象423 10.2.1 理解SqlCommand属性424 10.2.2 理解SqlCommand方法429 10.2.3 理解SqlCommand支持函数43310.3 将ad hoc查询集成到应用程序中43510.4 编码参数查询440 10.4.1 插入ad hoc查询441 10.4.2 理解SqlParameterCollection类442 10.4.3 理解SqlParameter类44410.5 验证值的有效性454 10.5.1 编写代码验证值的有效性455 10.5.2 处理复杂参数设计问题459 10.5.3 理解SqLCommand事件46210.6 执行存储过程462 10.6.1 处理OUTPUT、INPUT/OUTPUT和RETURN值参数462 10.6.2 处理行集和OUTPUT参数46410.7 小结466第11章 执行SqlCommand对象46711.1 概述46711.2 同步执行SqlCommand对象46711.3 了解SqlDataReader474 11.3.1 从流中取回数据475 11.3.2 从SqlDataReader流中取回元数据480 11.3.3 设计最好的SqlDataReader48111.4 填充数据结构481 11.4.1 通过设计进行有效填充482 11.4.2 如何填充484 11.4.3 填充InfoMessage消息485 11.4.4 填充OUTPUT和 RETURN值参数486 11.4.5 用DataTable Load方法 填充487 11.4.6 填充附加结果集48811.5 异步取回行49111.6 异步执行命令493 11.6.1 异步SqlCommand函数编码494 11.6.2 等待戈多或异步操作完成49711.7 小结503第12章 更新管理50512.1 概述50512.2 使用向导创建更新动作命令505 12.2.1 CommandBuilder应该完成的操作506 12.2.2 并发处理—— 更新和插入冲突507 12.2.3 ADO.NET CommandBuilder的工作方式509 12.2.4 编码CommandBuilder51012.3 替代更新:使用TableAdapter配置向导512 12.3.1 使用TableAdapter更新512 12.3.2 管理生成的参数51612.4 用服务器端逻辑进行复杂的更新518 12.4.1 使用事件执行自己的更新逻辑518 12.4.2 UpdateEvents的示例520 12.4.3 管理批模式更新52512.5 通过设计或冲突管理并发52712.6 小结532第13章 管理SQL Server CLR 可执行程序53513.1 概述535 13.1.1 Visual Basic .NET开发人员的作用535 13.1.2 Visual Studio的作用53613.2 发展CLR可执行程序技术53613.3 CLR可执行程序适用的场合538 13.3.1 可以或应该构建的可 执行程序类型539 13.3.2 预览示例54013.4 设计CLR可执行程序54213.5 构建第一个CLR可执行程序54213.6 构建并部署一个CLR 可执行程序54813.6.1 准备部署一个CLR可执行函数548 13.6.2 部署过程55213.7 建立测试环境554 13.7.1 在T-SQL中寻址CLR函数555 13.7.2 评价CLR可执行程序的性能558 13.7.3 创建表值函数56013.8 在CLR可执行程序中处理ADO.NET563 13.8.1 使用上下文连接563 13.8.2 管理事务565 13.8.3 查询数据565 13.8.4 返回数据和消息56513.9 编码CLR存储过程565 13.9.1 构建CLR存储过程的示例567 13.9.2 测试CLR存储过程573 13.9.3 研究余下的CountWords示例574 13.9.4 评价CLR和T-SQL的性能57513.10 实现基本的用户定义类型 CLR可执行程序577 13.10.1 编码CLR UDT578 13.10.2 调试CLR UDT585 13.10.3 使用SELECT查询UDT数据587 13.10.4 为提高性能调整自己的UDT588 13.10.5 引用并更新UDT值589 13.10.6 单步调试UDT代码591 13.10.7 验证自己的UDT数据593 13.10.8 实现UDT方法59413.11 实现高级CLR用户定义的类型595 13.11.1 用户自定义串行化596 13.11.2 构建iTypCurrencyV2 UDT597 13.11.3 测试typICurrencyV2 UDT60213.12 访问CLR UDT的其他方式602 13.12.1 引用UDT603 13.12.2 实例化UDT变量604 13.12.3 浏览LoanRequest 代码60513.13 实现CLR聚集可执行程序606 13.13.1 什么是聚集607 13.13.2 CLR聚集示例607 13.13.3 测试CLR聚集61213.14 实现CLR触发器612 13.14.1 构建CLR触发器613 13.14.2 访问INSERTED和DELETED伪表614 13.14.3 处理更新61513.15 高级调试61613.16 UDT安全和IP安全617 13.16.1 提供自己的智能属性619 13.16.2 保护自己的智能属性61913.17 小结620第14章 创建并管理报表62114.1 概述62114.2 理解报表服务和RDL62214.3 Visual Studio 2005报表62614.4 Visual Studio 2005报表工具的内容62714.5 构建自己的第一个报表628 14.5.1 创建报表数据源629 14.5.2 展示报表631 14.5.3 配置ReportViewer控件634 14.5.4 测试报表635 14.5.5 完善报表63614.6 深入研究ReportViewer640 14.6.1 ReportViewer属性640 14.6.2 ReportViewer的方法642 14.6.3 ReportViewer事件642 14.6.4 LocalReport类643 14.6.5 ServerReport类64414.7 管理服务器报表644 14.7.1 呈现服务器报表645 14.7.2 管理服务器报表参数646 14.7.3 重新设置参数值649 14.7.4 有趣的ServerReport参数649 14.7.5 有趣的ServerReport 方法和函数65014.8 管理参数650 14.8.1 捕获参数651 14.8.2 报表参数65614.9 高级报表技术658 14.9.1 管理单击报表658 14.9.2 使用SubReport报表项662 14.9.3 RDLC的组成664 14.9.4 将RDL转换为RDLC66514.10 实现Matrix报表666 14.10.1 报表的数据考虑666 14.10.2 初始选择查询667 14.10.3 数据分组668 14.10.4 绑定Matrix报表67014.11 小结679第15章 《Visual Studio与SQL Server开发指南——最优架构与实例》总结681附录I 安装示例和测试数据库683I.1 安装示例683I.2 安装示例数据库683 I.2.1 附加示例数据库684 I.2.2 为实例创建别名685I.3 特定章节的配置问题686I.3.1 第8章:ADO.NET入门686I.3.2 第13章:管理CLR可执行文件686I.4 小结687附录II 重新安装DACW和Visual Studio中没有的其他功能689附录III 监控SQL Server691III.1 用SQL Profiler监控 SQL Server691 III.1.1 添加过滤条件691 III.1.2 配置SQL Profiler692 III.1.3 开始追踪694 III.1.4 评估追踪695 III.1.5 一些SQL Profiler提示695III.2 用性能计数器监控SQLServer和ADO.NET696III.3 小结700附录IV 创建并管理服务器端游标701IV.1 服务器端游标重要的原因701IV.2 ADO.NET如何实现游标702IV.3 如何管理服务器端游标702IV.4 ADO.NET如何创建服务器端游标704 IV.4.1 打开、关闭和重新打开连接704 IV.4.2 创建游标704IV.5 从游标取回数据705IV.6 更新服务器端游标708IV.7 小结708 |
商品评论(0条)