Visual Basic.NET和SQL Server 2000是Microsoft最重要的编程语言和数据库产品,它们为创建以数据为中心的应用程序提供了非常灵活的手段。本书从实际应用的角度出发,详细介绍了Visual Basic.NET和SQL Server 2000相结合的全部知识,具体内容包括ADO.NET类的相关知识、高效存储过程的编写和使用方法、应用程序的数据绑定、以XML格式操作数据、如何维护数据的完整性和安全性以及使用Component Services等,最后还给出一个案例,实际应用本书所介绍的理论知识。
\r\n 本书着重介绍与数据有关的应用程序开发知识和技巧,非常适合于有一定的VB开发经验、非常熟悉SQL Server(7.0及更高版本)、有.NET Framework基础知识,并熟悉ADO或ADO.NET的中高级开发人员。
第1章 ADO.NET\r\n\r\n1.1 通用数据访问和ADO历史\r\n1.2 ADO.NET代表数据访问的新时代\r\n1.2.1 DataReader\r\n1.2.2 DataSet\r\n1.2.3 使用DataSet代替DataReader的时机\r\n1.2.4 托管提供程序\r\n1.2.5 用于数据访问的命名空间\r\n1.3 小结\r\n\r\n第2章 SqlClient命名空间\r\n\r\n2.1 SqlConnection对象\r\n2.1.1 属性\r\n2.1.2 方法\r\n2.1.3 入池连接\r\n2.2 SqlCommand对象\r\n2.2.1 属性\r\n2.2.2 方法\r\n2.3 SqlDataReader对象\r\n2.3.1 属性\r\n2.3.2 方法\r\n2.4 SqlDataAdapter对象\r\n2.4.1 属性\r\n2.4.2 方法\r\n2.4.3 更新数据\r\n2.5 DataSet对象\r\n2.5.1 属性\r\n2.5.2 方法\r\n2.6 DataTable对象\r\n2.6.1 属性\r\n2.6.2 方法\r\n2.7 DataRow对象\r\n2.7.1 属性\r\n2.7.2 方法\r\n2.7.3 RowVersion\r\n2.8 DataColumn对象\r\n2.9 DataRelation\r\n2.10 小结\r\n\r\n第3章 HR应用程序范例\r\n\r\n3.1 HumanResources数据库\r\n3.2 HumanResources项目\r\n3.2.1 创建EmployeeDetails窗体\r\n3.2.2 EmployeeDetails代码\r\n3.2.3 调试\r\n3.2.4 测试HumanResources应用程序\r\n3.3 小结\r\n\r\n第4章 用ADO.NET处理数据流\r\n\r\n4.1 概述\r\n4.2 使用DataReader检索数据\r\n4.2.1 使用SELECT语句检索数据\r\n4.2.2 GET方法\r\n4.2.3 检索多个结果集\r\n4.2.4 通过执行存储过程检索数据\r\n4.3 使用DataReader更新数据\r\n4.4 使用DataReader填充控件\r\n4.5 小结\r\n\r\n第5章 编写优秀的存储过程\r\n第6章 在VB.NET中使用存储过程\r\n第7章 数据绑定\r\n第8章 事务和封锁\r\n第9章 组件服务\r\n第10章 SQL Server和XML\r\n第11章 开发人员的有效管理\r\n第12章 案例分析:IBankAdventure\r\n附录A ADO.NET对象模型
随着Microsoft. NET Framework的推出, 广大 Visual Basic开发人员在编码方面就有了一个全新的平台。.NET不仅在Visual Basic 6上完成了许多重要变化(为了确保与. NET Framework的兼容性), 而且还通过新的ADO. NET数据存储方法增强ADO的功能. ADO. NET提供一整套能够帮助我们检索和操作数据的类, 也就是说, ADO. NET并不仅仅是为了兼容. NET Framework而进行的简单升级. 在全面认识. NET数据支持的基础上利用ADO. NET类对于开发数据驱动的应用程序是非常重要的. 本书的主要目标是使开发人员能够很好地掌握VB. NET这门新语言, 并传递您在编写“利用数据库实例中的数据”的应用程序时所需要的信息. 在本书重点介绍与SQL Server 2000的连接时, 注意其中给出的. 有关处理其他数据源(例如, 用于示例的 Access 2000或 Oracle 8i)的连接的类的信息, 也是非常重要的. 这将允许您在 Windows Forms和 Web Forms应用程序中全面利用. NET Framework的数据访问功能. 本章各部分的主要内容如下:
第1章:本章简要介绍了ADO. NET的新特性和功能, 并概述了类的结构和能力, 这些都与目前的应用程序开发密切相关. 尤其是, 本章介绍了System. Data命名空间以及其中包含的主要对象. 另外, 本章还界定了本书其他章节所要讨论的主要内容.
第2章:本章开始深入探讨ADO. NET并简要介绍SqlClient命名空间. 该命名空间包含了在商务对象代码中连接数据源所需的全部类. 所有这些新对象, 例如 DataReader. Connection. Command. DataAdapter. DataSet和 DataTable, 本章都进行了介绍. 本章还描述如何使用Command对象连接数据库以及DataAdapter如何利用检索的数据链接Command对象. 接着, 本章介绍了DataSet和DataTable对象的用法, 以及它们的底层结构, 也就是DataRow和DataColumn对象.
最后, 本章还介绍了在使用DataRelation检索的数据中如何维护参照完整性, 以及如何在数据库连接和数据操作过程中使用这些对象和类.
第3章:本章介绍一个范例应用程序, 它将贯穿本书所有章节. 范例HumanResources数据库提供典型HR资源的一个说明, 包含关于Employees的详细资料. 雇员的支付情况. 薪水详细资料以及他们个人从事的开发课题. 在创建和填充数据库时, 还创建一个范例VB. NET Windows Application(Windows应用程序), 主要是为了说明 ADO. NET类连接和操作数据库中数据的方法. 这个应用程序提供一个接口, 允许您验证数据库连接是否正在工作, 而且还允许更新数据库中的记录.
第4章:本章着重介绍DataReader对象和与之相关联的一些方法, 并讨论了如何通过使用一个简单的SELECT语句和利用一个存储过程返回数据. 最后, 还介绍如何利用DataReader对象返回多个结果集. 更新数据和填充控件.
第5章:在本章中, 我们考虑到存储过程在创建高效托管代码方面的优势. 本章讨论的中心是如何编写高效的存储过程, 同时还全面介绍如何按照有效的方式读取. 编写和更新数据. 特别是, 本章介绍如何通过使用 INNER JOIN. OUTER JOIN和 CROSS JOIN命令在多个表中加入数据, 而且在存储操作所要求的数据时使用全局和本地表. 本章还介绍条件逻辑以及如何隔离“在通过存储过程检索数据时可能出现的”问题. 另外, 我们还介绍如何通过编写用户定义的函数来扩充存储过程的功能. 我们不能低估编写拙劣的代码所带来的性能冲击, 特别是当系统的大小在不断增加时:本章的目标是确保开发人员能够尽最大所能最大化数据传输的功效和来自不同数据源的数据操作.
第6章:前面已经讨论过如何编写能够高效执行的存储过程, 本章介绍如何在VB. NET代码中执行它们. 本章的内容构建在先前章节所积累的知识的基础之上, 并说明存储过程在应用程序(使用范例HumanResources数据库)中的用法. 本章特别介绍一些示例, 分别用于通过使用DataReader执行存储过程. 返回多个结果集. 在存储过程内外传递参数. 检索和传递XML数据. 在本章最后, 您完全可以编写高效的. 能够以各种方式操作数据的存储过程.
第7章:前面已经介绍SqlClient命名空间以及在ADO. NET中用于操作SQL server 2000中的数据的关键对象, 而本章主要介绍数据绑定的基本内容. 在. NET领域, VB开发人员拥有很强的数据绑定能力们 Visual Basic早期版本的数据绑定能力相比), 本章将说明这一数据绑定能力. 我们先介绍简单和复杂数据绑定的基本内容, 然后特别介绍如何使用诸如文本框和数据网格的控件绑定数据. 无论是在Windows Forms应用程序中将数据绑定到控件, 还是在WebForms应用程序中将数据绑定到控件, 本章都将进行介绍.
第8章:本章介绍数据库应用程序开发过程中的其他重要概念, 即事务处理(transaction)和加锁(lock). 对于如今的分布式数据库系统和高强度的用户访问, 能够同时访问保存在任何系统中的数据是极其重要的. 数据维护的问题会随着用户数量的增加而出现.
在本章中, 我们主要考虑事务处理的原子性. 在生成事务处理时存在哪些需求以及如何实现能够高效地处理多用户的系统. 对于在数据库中更新数据时可能出现的问题和如何确保所有呈现在用户面前的数据的完整性, 本章都将进行详细介绍.
第9章:本章主要介绍. NET领域的 Component Services的基本内容. System. Enterprise Services命名空间在处理组件时后台使用COM+, 且使“处理DLL文件”的过程比早期的ADO要彻底. 本章讨论了服务组件的基本内容及其在分布式事务处理中的用法. 接着, 本章说明一个简单程序集的创建过程和如何使用 Sn和 RegSvcs工具注册该程序集. 最后, 本章创建一个客户组件, 该组件能够利用注册的程序集并返回一些说明组件的用法的值.
第10章:本章讨论SQL Server 2000对XML的支持程度和支持的基本内容. 首先详细地介绍了FOR XML EXPLICIT于句和返回XML结果集(该结果集将来适合于在自己的数据应用程序中操作)所要求的数据结构. 另一种可选方法是使用 XSL样式表格式化在 SQL Server中检索的数据以传输数据, 在介绍该方法之前, 先概述上面所述子句的缺点. 最后, 本章介绍如何使用可用于SQL Server 2000和. NET Framework的 SQLXML功能从头开始创建一个作为Web服务的存储过程的示例.
第11章:本章介绍一个检验表的窗体, 并涉及到一些与DBA的角色相关联的传统主题. 在此, 我们将讨论如何通过授予用户注册权限来限制对SQL Server的访问. 本章还讨论SQL Server注册的基本内容以及Windows Groups和 Windows Users, 且将重点放在如何在 SQL Server Enterprise Manager(SQL Server企业管理器)中操作它们和自动使用 SQL-DMO(Distributed Management Objects, 分布式管理对象)对象两个方面内容. 然后, 本章开始讨论 SQL Server的性能以及如何通过 Profilerl具来监控这个性能. 索引是数据库性能的一个关键体现者, 进而本章也对Index Tuning Wizard(索引调整向导)进行讨论. 本章还介绍如何移动和恢复数据库. 生成“能够用于创建数据库的”脚本的方法以及包含在它们中的对象.
第12章:在本章中, 我们以一个案例分析结束全书, 该案例分析的目的是说明本书前面所讨论的许多概念. 本章讨论一个银行业务应用程序, 该程序允许用户使用各种账户登录银行业务事务处理系统. 另外, 该应用程序还汇总所实施的借贷, 以便提供有问题账目的平衡. 这个应用程序被分解为传统的三层应用程序, 其中数据层为数据库, 中间层为一些代码模块(商务对象), 表示层为 Web Form用户接口.
本书读者对象
本书适合那些有能力编写VB中间层代码, 但又想学习如何编写以数据为中心的代码的编程人员. 本书向您提供了许多快速处理新ADO. NET类和对象的方法. 到本书的结尾处, 您将全面熟悉如何从 SQL Server检索数据并按照输出所要求的结果操作数据. 您不仅可以轻松开发“以各种格式使用数据的”应用程序, 而且应用程序可以保证那些数据的安全性和完整性. 总之, 本书为利用 Visual Basic. NET编写高性能的. 安全的数据应用程序, 提供了一个蓝图.
您应当是一位中级水平的 VB. NET开发人员, 而且对整个. NET Framework的基础知识有一个很好的了解, 并有一些ADO或ADO. NET(也可能是两者兼有)开发经验. 另外, 本书还假设您熟悉简单的 T-SQL语句, 且在 SQL Server(版本 7. 0和更高版本)中使用过存储过程.
学习本书所需要的准备工作
为了很好地学习本书内容, 您需要 Visual Studio. NET的 Enterprise或 Professional版本的完整产品许可, 而且有权使用 SQL Server 2000(Standard. Development或 Enterprise版本)的一个实例.
用户支持
我们一贯重视读者的意见, 并想知道每位读者对本书的看法, 包括读者喜欢和不喜欢的内容, 以及读者希望我们下一次完善的地方. 您可以通过发送电子邮件(地址为feedback@wrox. com)来向我们反馈意见. 请确保在反馈信息中提到本书的书名.
如何下载本书的范例代码
当您百问Wrox公司站点(地址为http://www. wrox.Com/)时, 通过Search工具或书名列表, 可以方便地定位需要的书目. 然后, 单击Code列中的Download超链接, 或者单击本书的详细信息页面中的 Download Code超链接, 就可以下载相应的范例代码.
从我们的站点上下载的可用文件都是使用WinZip压缩过的文档. 把附件保存到本地磁盘上的文件夹中后, 需要使用一个解压缩程序(例如 WinZip或PKUnzip)来解压缩文件. 在解压缩文件时, 通常将代码解压缩到每一章所在的文件夹中. 在解压缩的过程中, 应确保解压缩程序被设置为使用原有文件夹名.
勘误表
我们已经尽最大努力确保本书中的文本和代码没有错误, 但是错误仍然在所难兔. 如果您发现本书存在错误, 例如拼写错误或不正确的代码段, 请反馈信息给我们, 我们将不胜感激. 勘误表的发送可以节约其他读者学习本书的时间, 而且能够帮助我们提供更高质量的信息. 您的反馈信息将被检查, 如果正确, 将被粘贴到本书的勘误页面上, 或者在本书的后续版本中使用.
要在我们的站点上找到勘误表, 请访问http://www. wrox.Com/, 并通过Search工具或者书名列表轻松定位本书页面. 然后, 单击 Book Errata超链接即可, 该链接位于本书的详细页面中的封面图解下面.
E-mail支持
如果您希望直接向详细了解本书的专家咨询本书中问题, 可以发送电子邮件到support@wrox. corn, 要求在邮件的主题栏中带上本书的书名和 ISBN(国际标准图书编号)的后4位数字. 一个典型的电子邮件应包括下面的内容:
. 在主题栏中必须有本书的书名. ISBN的后4位数字和问题所在的页码.
. 正文部分应包括读者的名宇. 联系信息和问题.
我们将不返回无用邮件, 因为我们仅仅需要有用的详细资料, 以便可节约您和我们的时间.
当您发送一个电子邮件信息时, 它将经过下面一系列支持:
. 客户支持:首先, 您的信息将被递送到我们的客户支持人员手中, 并由他们阅读. 对于一些被频繁提到的问题将被归档, 并将立即回答有关本书或者Web站点的任何常见问题.
. 编辑支持:接着, 一些有深度的问题将被送到对本书负责的技术编辑手中, 他们在程序设计语言或者特定的产品上有着丰富的经验, 能够回答相关主题的详细技术问题.
. 作者支持:最后, 如果编辑不能回答您的问题(这种情况很少发生), 他们将请求本书的作者. 我们将尽量保护作者免受干扰, 以便不影响其写作. 然而, 我们也非常高兴转寄给他们一些特殊的问题. 所有Wrox公司的作者都为他们的书提供技术支持. 作为回应, 他们将发送电子邮件给用户和编辑, 进而使所有的读者受益.
Wrox公司的支持过程仅仅对那些与我们出版的书目内容直接相关的问题提供支持, 对于超出常规书目支持的问题, 您可以从 http://p2p. wrox.com/ forum中的公共列表中获得支持信息.
p2p. wrox. corn站点
为了便于作者和其他人讨论, 特将编程人员加入到P2P站点的邮件列表中, 而且我们惟一的系统将 programmer to programmer(由程序员为程序员而作)的编程理念与邮件列表. 论坛. 新闻组以及所有其他服务内容(一对一的邮件支持系统除外)相联系. 如果您向P2P发送一个问题, 应该相信它一定会被登录邮件列表的Wrox公司作者和其他相关专家所检查到. 无论您是在阅读本书, 还是在开发自己的应用程序, 都可以在p2p. wrox. com站点中找到许多对自己有所帮助的邮件列表.
按照下面的步骤可以预订一个邮件列表:
(l)登录http://p2p. wrox.com/站点.
(2)从左边的菜单栏选择一个适当的类别(对于本书为Databases).
(3) 单击您希望加入的邮件列表.
(4)按照说明订阅并填写自己的邮件地址和密码.
(5)回复您收到的确认邮件.
(6)使用预订管理程序加入更多的邮件列表并设置自己的邮件首选项.
您可以选择加入到整个邮件列表, 也可以只接收每周的邮件摘要. 如果您没有时间和工具来接收邮件列表, 可以直接查找我们的在线文档. 当存在加入和离开列表, 以及任何有关列表的其他常见问题时, 请发送邮件到 listsupport@p2p. wrox. com.