图书前言

前言

  

前    言

  

  本书适用于已经完成初级或者相关课程的读者,介绍了Visual Basic 2005编程的相关内容。在完成本书的学习和编程练习后,学生可以开发涉及数据库的中小型Windows和Web应用程序。

  优秀程序员必须结合理论与实践以适应不断变化的计算环境。本书涉及的内容不像专业参考书那样宽泛,而是着眼于编程和解决问题的实践方法。以下特色将有助于课堂教学。

* 循序渐进式学习方法,逐步深入介绍编程思想和概念。

* 根据各章主题给出的示例有助于学生积累实践经验。

* 每小节末尾均提供自测题。

* 通过编程提示为读者解决编程问题提供建议。

* 章末提供关键术语。

* 章末提供习题。

* 通过编程练习强化知识点。

* 由作者维护的配套网站含有书中所有范例程序和数据库。

第4版的变化

  第4版有了很多改进!我们将着重介绍面向对象编程原理和软件设计。多层应用程序模型(数据层、业务规则层和表示层)具有重要的影响,因为它是组件式编程。总的说来,第4版提供一种更高效的方法来介绍如何设计、实现和测试结构良好、易于维护和可扩展的应用程序。

  本书中的程序示例使用Visual Studio 2005编写。

附 带 资 料

  本书的主要亮点在于作者为教学提供高质量的支持,Addison-Wesley (http://www.aw-bc.com/)为本书提供优质资源,通过搜索书名Advanced Visual Basic 2005,采用本书的学生和老师可以获得以下资料。

* 各章PowerPoint课件。

* 范例程序。

* 本版新增内容列表。

  另外,教师还可以获得以下资料。

* 习题答案。

* 编程练习答案。

重点强调的技能

  如果希望熟练使用Visual Basic 2005,至少需要掌握以下基本技能。

* 面向对象的设计和编程。

* 创建组件(类库)。

* 三层应用程序模型。

* 使用关系型数据库的桌面应用程序。

* 使用关系型数据库的Web应用程序。

* 应用程序的设计和测试。

  为了实现这些基本目标,我们在书中列出了学习目标,并将它们划分为几大板块:面向对象的设计、面向对象的编程、用户界面、数据库以及Web编程。通过本书的阅读,读者可以拥有以下技能。

面向对象的设计

* 认识和理解基本的UML图示。

* 了解继承、组合和接口实现在设计上的差异。

* 了解多态在实现高效面向对象设计中所起的作用。

* 使用带有组合和继承关系的类来设计应用程序。

* 创建用例场景来描述详细的执行步骤。

* 使用采用组件的多层设计模型来设计应用程序。

面向对象的编程

* 了解反射和运行时类型标识的基本知识。

* 了解早期绑定和后期绑定,了解向上转型和向下转型。

* 通过多个catch块,抛出异常和重新抛出异常以及自定义异常类来实现异常的处理。

* 实现类构造函数,包含使用继承的类在内。

* 定义共享方法、字段和属性。

* 定义结构类型、枚举类型、类和嵌套类。

* 重载和覆盖类的方法。

* 通过Public、Private、Protected和Friend修饰符控制对成员的访问。

* 在派生类中定义和实现接口。

用户界面

* 确定常见的用户界面设计问题。

* 使用.Net错误处理控件和事件处理在用户界面层捕捉错误。

* 自定义Visual Basic 2005高级控件,例如ToolStrip、DataGridView、GridView、DataView、TreeView、Repeater和DataList。

数据库

* 设计包含多个表关系的关系型数据库。

* 显示相关数据库表的数据。

* 使用DataSet和DataTable更新数据库表的数据。

* 通过数据库连接实现多层应用设计中的数据层。

* 通过异常处理来处理常见的数据库异常。

* 创建SQL查询来更新数据库。

* 创建ADO.NET Command对象来执行数据库查询。

* 使用DataReader来读取数据库的数据。

* 充分利用ADO.NET数据库对象来编写应用程序。

* 创建和执行存储过程。

* 熟悉数据库约束和数据库安全。

Web编程

* 创建包含多个网页的ASP.NET应用程序。

* 在程序中使用所有标准的HTML控件和ASP.NET控件。

* 使用Web验证控件。

* 使用Web窗体的列表型控件,包括GridView、ListBox、DropDownList、RadioButtonList和CheckBoxList,并为这些控件编写事件处理程序。

* 在Web应用程序中上传文件以及发送电子邮件。

* 在ASP.NET程序中管理页面状态和会话状态。

* 实现自定义HTTP错误处理。

* 创建、删除和修改浏览器端的cookie。

* 在Web应用中使用数据绑定和数据组件。

* 使用基于模板的控件,例如DataList和Repeater。

* 配置GridView的高级选项并响应其事件。

* 在Web窗体中使用Command对象来更新数据库。

* 创建Web Service,返回值类型以及对象类型,也包括DataSet。

* 创建使用Web Service的Visual Basic应用程序。

学 习 计 划

  如果在学习Visual Basic的过程中强调Windows应用程序,推荐依次学习第1~7章,然后学习第8~11章。第12章(水晶报表)可以在学习第3章之后的任何时间学习。如果课程侧重于Web编程,可以依次学习第1、2、3、8、9和10章。下图描述了各章之间的关系。

各 章 介 绍

  第1章  类

  本章介绍Microsoft .NET Framework和最佳编程实践。着重讲解包括数据类型的基本概念,同时也包括了值类型的概念。剩下的篇幅讲解数据类型、类和面向对象的设计,最后提供一个程序设计和问题求解实例,该例模拟了一个银行自动取款机。

  第2章  用户界面设计

  本章首先介绍用户界面设计准则,展示了输入验证如何提高程序的健壮性。然后深入介绍一些高级的.NET控件,如ToolStrip、WebBrowser、SplitContainer、ListView和TreeView。本章对日期和时间的算法问题作了简单讨论,也对多文档界面(MDI)程序进行了粗略的介绍,这些对于学习后面的章节非常有用。

  第3章  使用SQL Server 数据库

  本章介绍SQL Server数据库的基本概念及其在Visual Basic中的用法。你将学会使用强大的Visual Studio工具来建立数据库的连接。本章接着介绍了SQL SELECT语句,同时展示了怎样创建查询来填充DataGridView以及其他可以进行数据绑定的控件。然后介绍如何对DataSet中的数据行进行查询、插入、删除和排序。最后介绍一个简短的用于管理Karate学校的小型数据库应用程序。

  第4章  深入类

  本章延续第1章面向对象的话题,继续深入讨论。介绍如何创建类库,这将为后续各章的学习打下基础。接下来去认识Object(对象)类,并且了解如何通过反射在运行时获得对象的信息。本章还介绍了接口概念以及如何通过接口来为对象分配不同的行为。同时,在整章中都会贯穿异常处理和继承的概念。

  第5章  ADO.NET数据库对象

  本章介绍了直接运用ADO.NET提供的对象来编程的灵活性。特别示范了如何通过Visual Studio的工具创建数据库、视图和存储过程。本章首先介绍一些重要的数据库设计的概念,如表关系和约束。学生将学会如何通过编程来创建数据表、数据库连接、数据适配器和数据集,为后续学习数据库组件做好准备,同时也将学会通过T-SQL查询语句来更新数据库。

  第6章  数据库组件

  本章着重讲述如何创建可重用的类库,同时展示这些类库如何有助于应用程序保持良好的扩展性和维护性,本章示例中将使用Northwind数据库,学生届时将学习如何创建数据相关组件、Command对象以及Northwind_Library组件。最后讨论示例组件的测试和调试。

  第7章  ProjectTrackAw案例

  本章将开发一个复杂的跟踪项目的应用程序。你将会看到用例的示例、需求的确定、数据库设计、类设计以及用户界面的设计。本章将说明如何实现数据层和业务层的组件,以及如何将设计的组件连接到用户界面。本章最后介绍测试概念和为示例程序制定测试                      计划。

  第8章  创建Web应用程序

  本章介绍如何通过Visual Basic来创建Web应用程序,学习Web应用程序与客户端进行通信的基本过程。同时,本章还介绍如何运用标准的Web服务器控件来创建ASP.NET应用程序,控件可用Visual studio的工具来设计。学生也将学习到如何在多个网页之间传递数据以及如何连接到SQL Server数据库。

  第9章  在Web窗体中编写代码

  本章将学习如何仅运用XHTML代码来创建Web 应用程序,用CSS创建可重用的样式,如何上传文件和发送电子邮件。同时也说明了客户端校验控件的使用,以及自定义错误处理。学生还会学习如何通过浏览器cookie和会话状态集合保存状态信息。最后本章要展示一个简单的Vacation Rentals Web应用程序。

  第10章  包含数据库对象的Web应用程序

  本章介绍在Web应用开发者中流行的一些技术。Master-Detail页供学生定义在其他所有网页上固定的头和尾的内容。学生也将通过列表类控件来学习数据绑定,学习如何通过增加按钮和列来自定义GridView控件。本章将用到第4章和第6章介绍的基于组件的编程的相关知识点。最后将学习怎样使用JavaScript编写客户端代码,怎样使用ASP.NET新提供的用户验证和Login(登录)控件。

  

第11章  Web Service

  本章将简要介绍比较流行的Web Service,简而言之,Web Service允许应用程序通过网络包括Internet来调用函数,Web Service是对本书重点强调的基于组件的编程方法的扩展。本章示例使用了数据库和第6章中创建的Northwind_Library组件。

  第12章  水晶报表

  本章介绍了水晶报表,它是.NET中一款知名的自定义报表工具。学生将学习如何使用Report Creation Wizard(报表创建向导)创建报表,如何使用Report Designer(报表设计器)修改报表。本章介绍如何将报表绑定到现有数据源,根据字段组合创建报表,为报表添加图表。本章介绍的报表可以应用在Windows和Web应用程序中。

  附录A  自测题答案

  附录A提供所有自测题的答案,学生可以通过每一章后面的自测题和答案来测试自己掌握的知识。

  附录B  高级应用

  本附录包含学生可能感兴趣的话题。展示如何计算TimeSpan对象,如何格式化日期和时间,如何使用ListView控件的高级特性。在面向对象方面,学习IComparer接口以及如何创建抽象类和运用多态性,展示了如何在自定义类中定义和引发事件。最后说明了Web应用程序中DataList控件的使用,以及如何定义模板来进行高级的格式化。