序设计语言,可以很方便地设计出在 WINDOWS 环境下运行的应用程序。
故而,实现本系统 VB 是一个相对较好的选择。
1.3.1.1 Visual Basic 的编程特点 Visual Basic 语言的出现为 Windows 下的编程提出了一个新概念,利用Visual Basic 的动态数据交换、对象的链接和嵌入、动态链接库、ActiveX 技术可以很方便地设计出功能强大的应用程序。
利用 Visual Basic 语言编程有以下几个特点: 1. 可视化程序设计 在 Visual Basic 中开发的应用程序,不但有丰富的图形界面,同时由用户为开发图形界面添加的
代码真是少而又少,因为在设计图形界面的过程中只需设置 ActiveX 控件的属性即可。
2. 强大的数据库和网络功能 随着 Visual Basic 语言的向前发展,它在数据库和网络方面的功能优势就愈加明显,利用 Visual Basic 中的 ODBC——开放式的数据库访问技术可以很方便地开发出自己的数据库应用程序;利用 Visual Basic 自带的可视化数据管理器和报表生成器,完全可以在 Visual Basic 就完成数据库的开发工作。
3.其它特性 在 Visual Basic 以前的版本中,由于仍然摆脱不了解释执行的
代码运行机制,所以在相当的程度上制约了 Visual Basic 的发展。
从 Visual Basic5.0 版本开始,在 Visual Basic 中制作的应用程序都改变为编译执行,使得 Visual Basic 的
代码效率有了很大的提高,同时执行的速度 也加快了解 30同 Visual Basic4.0 相比。
当然在 Visual Basic 中还有其它特性,例如: 面向对象的编程语言; 结构化程序设计; 事件驱动的程序设计: 在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分
代码和按何种顺序执行
代码。
从第一行
代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程。
在事件驱动的应用程序中,
代码不是按预定的路径执行,而是在响不同的事件时执行不同的
代码片段。
事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。
这些事件的顺序,决定了
代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。
支持动态链接库; 应用程序之间的资源共享。
1.3.1.2 VB 支持的数据库系统 VB 支持对多格式的数据库的访问和维护,无论是 Access 还是 Foxpro 中创建的数据库,都可以用 VB 打开,对其进行查询、修改和删除等操作。
事实上,VB 几乎支持对市面上所有数据库的访问。
VB 可以访问的数据库可以简单的分为三类,即:Microsoft Access 格式数据库,外部数据库和 ODBC 数据库。
VB 对多种数据库格式的支持,大大的增强了开发数据库应用程序的能力。
1.3.1.3 Jet 数据库引擎 Microsoft 引擎为 Visual Basic 与数据库的接口提供了基本的方法。
Jet引擎被 Visual Basic,Microsoft Access 和其他 Microsoft 产品共享。
Jet 数据库引擎提供了多种功能,Jet 的数据定义功能支持对表、索引、查询的创建、修改和删除。
Jet 以主键标和表间引用完整性的形式支持数据完整性。
对于数据操纵,Jet 支持使用
SQL。
SQL 提供用单独语句对基于用户定义标准的记录组进行检索、添加、删除或更新的方法。
Jet 也提供对安全功能的支持。
这种功能让开发者指定用户标识符和口令,他们必须在用户访问数据库之前给出。
Jet 也支持使用许可,或是对单个表和查询的访问级别(例如,只读或读写可访问性)。
这是的数据库管理员要对每一位用户或用户组分配对数据库不同特定访问。
除了数据操作和数据定义任务外,也可用 Jet 引擎来执行其他的任务。
Jet还具备在数据库开发工作中所需的其他功能,这些功能包括:数据库修复,数据库压缩(以使消除不同的空间)和重新索引。
1.3.1.4 数据库开发中的三大工具 Visual Basic 在 数 据 库 应 用 程 序 的 开 发 领 域 中 , 提 供 包 含 数 据 管 理(DataManager),数据控件(Data Control)以及数据编程对象(数据访问对象(DAO) )等功能强大的工具, 、远程数据对象(RDO)和 ActiveX 数据对象(ADO)协助设计人员轻松的连接数据库文件,并访问其中的数据,在功能方面与其他一些专业数据库软件(如 FoxPro,Micosoft Access 等)不相上下。
数据管理器(Data Manager)是 Visual Basical 已有的老成员之一,拓本盛举有的 Jet 数据库引擎(Database Engine)可以帮助 VB 程序元件立即维护数据库内容,并可通过输入查询或查找数据库信息,而不必再通过其他数据库软件另外去设计数据库。
数据控件是 VB 所提供的基本控件成员之一。
它使得设计者省下一堆程序
代码编写的工作,能够轻松的设计及维护数据库内容。
数据控件可以通过一些属性的设置去链接某个数据库文件,但是它本身并无法显示数据库各个记录的内容,必须在搭配其他具有数据感知(Data Aware)功能的控件对应并显示一个字段内容,以方便地进行记录的浏览及编辑工作。
VB 提供的数据访问对象(Data Access Object;DAO)让程序设计者拥有更大的发挥空间。
借助程序
代码编写,直接控制 Jet 数据库引擎,配合数据库控件,能够开发出更具弹性且高效率的数据应用程序。
RDO 是处理远程数据库的一些专门需要的对象集合。
使用 RDO 可以不用本地的查询机就能访问 ODBC 数据源,这无疑将大大提高应用程序的性能。
ADO 是 VB6。
0 中新增的对象,它是一个更简单的对象模型,它更好的集成了其它数据访问技术,并且对本地和远程数据库均有共同的界面,可以取代 DAO和 RDO。
ADO 更易于使用。
我们在本系统中利用数据管理器创建了数据库及数据库表,并采用了 ADO数据访问技术。
1.3.2
SQL Server 2000 简介
SQL Server 2000 是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超 Oracle 数据库的趋势。
用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与 Windows NT/2000 平台紧密集成,具有完全的 Web 功能。
通过对高端硬件平台、网络和存储技术的支持,为 WEB 站和企业的应用最大限度地提供了可扩展性和高可靠性,能在 Internet 商业领域快速建立并应用。
此外,还增强了安全性,保护防火墙内外的数据。
支持基于角色的安全并拥有安全审计工具。
在经历了
SQL Server 6.5 和 7.0 两个版本的尝试后,微软公司终于开始了大规模的业务。
记得在以前各种关于
SQL Server 的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了 2000 版之中。
其实这是一种误解。
在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。
有了强大的性能和功能支持,再配合其一向为人称道的易用性,
SQL Server 可以说成为了开发者手中的一柄利器! 另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用 Access作为数据库平台的案例,并展开相关的内容。
这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。
SQL Server 2000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比 Access 大。
另外,
SQL Server 2000 可以兼顾小、中、大规模的应用,有着远远比 Access 强大的伸缩性。
1.3.2.1
SQL Server 数据库特点 概括起来,
SQL Server 2000 数据库管理系统具有以下主要特点。
1.丰富的图形管理工具,使系统管理、操作更为直观方便。
SQL Server 企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理
SQL Server 服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。
此外,
SQL Server 2000 还提供了
SQL事件探查器、
SQL 查询分析器、
SQL Server 服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。
2.动态自动管理和优化功能。
即使
SQL Server 数据库管理员不做任何设置,
SQL Server 也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。
3.充分的 Internet 技术支持。
Internet 网络发展到今天已经成为一条重要的信息发布渠道,
SQL Server 增强了对 Internet 技术支持,它除保留了前期版本中的数据库 Web 出版工具“Web 助手”外,还增强了对 XML 和 HTTP 技术的支持,这使得电子商务系统能够通过 XML 等访问
SQL Server 数据库系统,也扩展了
SQL Server 在数据挖掘和分析服务领域的应用。
4.丰富的编程接口工具,使用户开发
SQL Server 数据库应用程序更加灵活。
SQL Server 提供了 Transact-
SQL、DB-Library for C、嵌入式
SQL(ESQL)等开发工具,Transact-
SQL 与工业标准
SQL 语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。
此外,
SQL Server 2000 还支持 ODBC、OLE DB、ADO 规范,可以使用 ODBC、OLE DB、ADO 接口访问
SQL Server 数据库。
5.具有很好的伸缩性和可靠性。
SQL Server 2000 既能运行在 Windows 桌面操作系统下,又可运行在服务器操作系统(包括 Windows NT 和 Windows 2000)下;既能运行在单 CPU 计算机上,又能运行在对称多处理系统下。
所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。
6.简单的管理方式。
SQL Server 2000 与 Microsoft Windows 2000 有机集成,所以可以使用 Windows 2000 的活动目录(Active Directory)功能对 SQLServer 进行集中管理,大大简化大型企业中的系统管理工作。
此外,与 Windows2000 的集成还使
SQL Server 能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性能监视器、 , 内存管理和异步 I/O 等)从而增强了
SQL Server数据库系统的功能,并且只需要占用很少的系统资源。
1.3.3 ADO 对象概述 ADO 对象是针对当前微软的软件所支持的数据进行操作的最为有效、简单并且功能强大的方法。
它可以把大部分数据源可编程的属性直接扩展到 ActiveServer 上,主要含有 Connection、Recordset 与 Command 三种对象。
其中:Connection 对象主要负责打开或连接数据库文件;Recordset 对象主要是存取数据库的内容;Command 对象主要是对数据库下达行动查询指令以及
SQL Server的 Stored Proceduce。
ADO 对象能够存取到数据库的内容,首先要求数据库的驱动程序 ODBC 驱动程序与 OLE DB 驱动程序必须安装上,否则,ADO 对象是无法存取数据库中内容,其原理示意图如图 1.1 所示: 客户端 客户端 客户端 ADO 对象 各种数据库所对应的驱动程序 各种数据库如 Access、
SQL Server 以及 Oracle 等 图 1.1 ADO 对象存取数据原理示意图 请注意:上图中的 即 “各种数据库所对应的驱动程序” ODBC 驱动程序与 OLEDB 驱动程序。
1.3.3.1 利用 ADO 开发网络数据库应用程序 ( ADO Active Date Objects即 ActiveX 数据对象)是一个 ASP 内置的 ActiveX服务器组件(ActiveX Server Component)。
可把它与 ASP 结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,并可以把在用户端实现“网上实时更新显示”的最新 Web 数据库技术。
要 执 行 ADO , 服 务 器 端 必 须 安 装 Windows NT Server 和 InternetInformation ServerIIS,而客户端只要有 IE 或 NETSCAPE 较新版本的浏览器即可。
利用 ADO 开发网络数据库应用程序有以下几个优点: ⑴ 支持客户机/服务器结构(Client/Server)与 Web 系统开发技术。
⑵ 内部有多个互相独立的对象模型。
⑶ 支持分批修改数据库内容。
⑷ 支持多种不同的数据控制指标形式。
⑸ 先进的 Recordset 数据高速缓存管理功能。
⑹ 允许在程序中使用多个 Recordset 对象或者多个分批修改区块传送。
⑺ ADO 属于 Free_threaded 对象,利用它可以开发出更有效的 Web 应用程序。
1.3.3.2 ADO 组件的主要对象及其功能 ADO 组件又称为数据库访问组件,它提供了以下七种对象: Connection 对象:提供对数据库的连接服务。
Command 对象:定义对数据库源操作的命令。
Recordset 对象:由数据库服务器所返回的记录集。
●Recordset 对象的 LockType 属性的设置值 常量 值 说明 adLockReadOnly 1 默认值,只读。
无法更改数据 。
提供者执行必要的操作确保成 保守式记录锁定(逐条) adLockPressimistic 2 功编辑记录,通常采用立即锁定数据源的记录的方式。
。
提供者使用开放式锁定,只在 开放式记录锁定(逐条) adLockOptimistic 3 调用 Updata 方法时锁定记录。
adLockBatchOptimistic 4 开放式批更新。
用于与立即更新模式相反的批更新模式。
Fields 对象:由数据库服务器所返回的单一数据字段 Parametes 对象:表示 Command 对象的参数。
Property 对象:单独的一个 Property 对象,提供属性功能。
Error 对象:提供处理错误的功能。
使用 ADO 对象可以建立和管理数据库的连接,按数据库服务器的要求获得数据,执行更新、删除、添加数据等操作,获取 ODBC 的错误信息等。
1.3.3.3 用来操纵数据的
SQL 命令
SQL 命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计的语言,
SQL 比一般的计算机程序语言简单的多。
命令主要分成两部分:DDLDataDefinition Language和 DMLData Manipulation Language其中 DDL 是建立 而数据表及数据列的指令群, DML 则是操作数据库记录的指令群,如数据库记录的添加、更新、删除、和查询等。
SQL 命令,包括 Select、Delete、Update、Insert Into、Select Into 等。
⑴ 筛选及排序记录的 Select 指令 基本句型一:Select 字段串列 From 数据表 基本句型二:Select … From … Where 筛选条件 基本句型三:Select … From … Order By 字段串列 Select Top:限定选取数据的条数 ⑵ 删除数据记录的 Delete 指令 基本语法:Delete From 数据表 Where 条件式 ⑶ 更新数据记录的 Update 指令 基本语法:Update 数据表 Set 表达式 ⑷ 增加数据记录的 Insert Into 指令 基本句型一:Insert Into 数据表 字段串列 Values 字段串列 基本句型二:Insert Into 数据表 字段 1字段 2…字段 n Select … ⑸ 建立新数据表的 Select Into 指令该指令与“Insert Into … Select …”指令的区别是,这个指令将建立另一个新的数据表,而 Insert Into 是增加数据记录到“现存的”数据表中。
1.2.4 Visual Basic 6.0 访问数据库的过程①定义数据库组建 Dim con As New ADODB.Connection②打开数据库对于
SQL 数据库,其连接语句为 con.Open quotdriversql serverserverlocalhostuidsapwddatabasestudentquot。
而对于 Access 数据库,连接语句为con.Open quotProviderMicrosoft.Jet.OLEDB.4.0Data Sourcequot amp App.Path quotstudent.mdbquot③设定
SQL 语句,使用“Execute”命令,即可开始执行访问数据库的动作 Dim rs As New ADODB.Recordset 其中 rs 为结果集对象(RECORDSET)④关闭结果集对象,断开与数据库的连接 rs.Close Con.Close 第二章 系统整体规划2.1 数据库的设计 在系统设计过程中,首先要建立的就是数据库。
本数据库采用
SQL Server2000 来构造,共使用了 7 个表,它们分别是用户信息表(UserInfo)、学生信息表 、 (StuInfo) 班级信息表(Class) 专业信息表 、 、 (Major) 学院信息表(Depart)、课程信息表(Lesson)、学生成绩表(Result)。
1.用户信息表(UserInfo): 字段名 数据类型 说明 是否为空 是否为关键字 UserID 文本 用户名 Not Null Prim.