微电子实验室管理系统Word文件下载.docx
《微电子实验室管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《微电子实验室管理系统Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
”将ASP的脚本程序码包含起来。
1.1.2ASP的运行环境
ASP只能工作于Microsoft自己的操作系统平台和服务器软件之下,使ASP应用有了一定的局限性。
最近,一家名为“Halcycon”的软件公司,开发了一个称为iASP(InstantASP)的ASP脚本解释引擎软件,使ASP不仅可以在采用Windows操作系统平台和服务器软件的网站上使用,还可以在采用其它操作系统如Unix、Linux、Soris、Netware操作系统及相应服务器的网站上使用。
iASP全面继承了ASP的优势,并与ASP完全兼容,因而ASP应用系统几乎可以直接移植到非Windows操作系统平台下的iASP环境中运行,使得ASP应用系统真正成为了一种跨平台的Internet、Intranet或Extranet应用系统。
1.1.3ASP的开发环境与工具
ASP比较简单易用,用WINDOWS自带的记事本或是任何一种文本编辑器,都可以进行ASP的开发,还有些专门的开发工具如ASPEDIT,ASPEXPREES等,都能进行有效的开发。
当然,实际开发中最好在专业的集成开发环境下,以提高开发效率。
这类软件主要有Microsoft公司的InterDev,FrontPage和Dreamweaver。
InterDev主要用于设计Web应用程序的骨架及各种处理、控制功能,而FrontPage可以对已生成的Web应用程序进行页面上的修饰和编辑。
而Dreamweaver把WEB应用程序的开发同可视化创作环境结合起来,能帮助用户快速进行WEB应用程序开发,具有最优秀的可视化操作环境,又整合了最常见的服务器端数据库操作能力,是开发ASP的主流工具。
ASP的特点与工作原理
1.2.1ASP的特点
ASP的特点体现在以下几个方面:
(1)无需编译,容易产生。
无需编译或链接即可直接解释执行。
(2)使用普通文本编辑器,如Windows的记事本,即可进行编辑设计。
(3)独立于浏览器(BrowserIndependence):
用户端只要使用常规的可执行HTML码的浏览器,即可浏览ASP所设计的主页内容,ASP脚本语言(VBScript,JavaScript)是在站点服务器(Server端)执行,用户端不需要支持它。
(4)具有面向对象(ObjectOrient)性。
(5)可通过ActiveXServercomponents(ActiveX服务器组件)来扩充功能。
ActiveXServercomponent,可使用VisualBasic,Java,VisualC++,COBOL等语言来实现。
(6)ActiveServerPages与任何ActiveXscripting语言兼容。
除了可使用VBScript或JavaScript语言来设计,并可通过Plug-in的方式,使用由thirdparty所提供的其他譬如REXX,perl,Tcl等scripting语言。
script引擎是处理script的COM(ComponentObjectModel)对象。
(7)ASP的源程序代码不会外漏。
因为ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,从而保证了所开发的源代码不会被他人盗取,保护了劳动成果。
(8)使用服务器端的脚本来产生客户端的脚本。
1.2.2ASP工作原理
ASP脚本是一种服务器端的解释脚本,其后缀名为.asp。
当服务器端访问一个后缀名为.asp的URL(统一资源定位)时,该URL请求就被发送到Web服务器上,Web服务器于是调用相关的ASP引擎来将该脚本加以解析。
在中包含有各种ASP内置对象的集合以及这些对象的处理信息。
所以.asp脚本由解析后,将生成相应的HTML代码,该代码由Web服务器返回给客户端浏览器执行,于是用户就在屏幕上看到了该.asp执行的结果。
因为返回给客户端的只是脚本的运行结果,所以服务器端的脚本无法被预先复制,客户端也就无法得知创建其所查看的页面所使用的脚本命令
1.2.3ASP的脚本语言
脚本语言是介于HTML和Java、C++和VisualBasic之类的编程语言之间的语言。
脚本引擎是处理用某种语言书写的命令的程序。
ASP带有两个脚本引擎:
MicrosoftVisualBasicScriptingEdition(VBScript)和MicrosoftJScript。
ASP主脚本语言是用来处理在分界符<
%和%>
内部的命令的语言。
默认时,主脚本语言是VBScript。
ASP的对象
ASP对象ASP中的语法即开发者选用的脚本语言的相应语法。
在创建对象实例后,便可使用Object。
Methodparameters和Object。
Propertyparameters来访问对象。
ASP提供了5个针对常用任务的内建对象。
这5个内建对象不需要创建实例。
它们分别是:
1.Request对象。
Request对象可以用来访问任何用HTTP请求传递的信息,包括从HTML表单用POST方法或GET方法传递的参数、cookie和用户认证。
Request对象还能够访问发送给服务器的二进制数据,如上载的文件。
2.Response对象。
Response对象用来控制发送给用户的信息。
包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。
3.Server对象。
Server对象提供对服务器上的方法和属性进行的访问。
最常用的方法是创建ActiveX组件的实例。
4.Session对象。
Session对象存储特定的用户会话所需的信息。
当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除。
5.Application对象,在同一应用程序的多个用户之间实现信息共享,可通过加锁/解锁(lock/unlock)方法解决竞争问题。
ADO组件
ADO是ASP的一个内置组件,它为ASP提供了完整的Web数据库访问解决方案。
ADO组件一共提供了以下七种对象:
Connection对象:
表示建立一个数据源的连接。
Recordset对象:
表示由数据库或命令的结果产生的全部的结果集。
Field对象:
表示一般的数据类型的字段。
Command对象:
定义对数据源进行操作的命令。
Parameter对象:
表示Command对象的参数。
Property对象:
表示由数据提供源定义ADO对象的动态特性。
Error对象:
提供属于数据访问错误的细节。
使用ADO对象可以建立和管理数据库的连接,按数据库服务器的要求获取数据,执行更新、删除、添加数据,获取ODBC的错误信息等。
ASP的发展
在推出后久,Microsoft推出了。
又叫asp+,它的下层结构与ASP的以前版本截然不同,尽管从开发界面上看似曾相识,但是完全基于组件,并且完全模块化。
是一项全新的技术,已经成为网页开发的主流。
第二章利用ASP访问数据库
WEB数据库的结构分析
2.1.1网络数据库的基本结构
典型的WEB数据库有一个WEB作为用户界面,一个数据库服务器用作信息存储和数据的采集,以及一个连接两者的WEB服务器。
WEB数据库系统简化的结构如图
2.1.2客户机与服务器的结构(C/S结构)
在C/S模式中,所有的程序模块不需要全部被同一个程序来执行,应用程序的所有部分也不需要在同一台计算机上运行。
在这种信息处理模式下,某个应用程序可以要求另一个程序或进程来进行某些处理。
在这样的C/S处理环境里,通常把需要得到某种服务的进程或程序定义为客户机(Cilent),而把提供这些服务的进程或程序定义为服务器(Server)。
ASP如何访问数据库
2.2.1创建ODBCDSN文件
在创建数据库脚本之前,必须提供一条使ADO定位、标识和与数据库通讯的途径。
数据库驱动程序使用DataSourceName(DSN)定位和标识特定的ODBC兼容数据库,将信息从Web应用程序传递给数据库。
2.2.2配置MicrosoftAccess数据库的文件DSN
在“创建新数据源”对话框中,从列表框选择“MicrosoftAccessDriver”,然后单击“下一步”。
键入您的DSN文件名,然后单击“下一步”。
单击“完成”创建数据源。
在“ODBCMicrosoftAccess97安装程序”对话框中,单击“选择”。
选择MicrosoftAccess数据库文件(*.mdb),然后单击“确定”。
2.2.3连接数据库
访问数据库信息的第一步是和数据库源建立连接。
ADO提供Connection对象,可以使用该对象建立和管理应用程序和ODBC数据库之间的连接。
Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。
I通过已经定义好的ODBC数据源(DSN)建立数据库连接
(1)定义ODBC数据源(DSN)
在“控制面板”中,双击“32位ODBC”,选择“系统DSN”,就可以增加或选择修改数据源(DSN)的属性。
(2)建立一个的对象
Setcon=(“”)
II用Open方法建立连接
2.2.4用Connection对象执行查询
用Connection对象的Execute方法,您可以发出结构化查询语言(SQL)查询数据库源并检索结果。
SQL是用于与数据库通讯的工业标准语言,它有许多命令可用来检索和更新信息。
进行数据库操作。
(1)建立一个数据集对象。
Setrs=(“”)。
(2)构成一个SQL语句。
如:
SQL=“select*from表名orderbyID”
(3)用()执行SQL语句。
(SQL)
(4)对rs对象进行操作。
(5)用close方法关闭con和rs对象。
2.2.5使用Recordset对象处理结果
对于检索数据、检查结果、更改数据库,ADO提供了Recordset对象。
正如它的名称所暗示的那样,Recordset对象有许多您可以使用的特性,根据您的查询限制,检索并且显示一组数据库行,即记录。
Recordset对象保持查询返回的记录的位置,允许您一次一项逐步扫描结果。
根据Recordset对象的指针类型属性设置,您可以滚动和更新记录。
数据库指针可以让您在一组记录中定位到特定的项。
指针还用于检索和检查记录,然后在这些记录的基础上执行操作。
Recordset对象有一些属性,可用于精确地控制指针的行为,提高您检查和更新结果的能力。
访问数据库的三种方式
2.3.1Internet数据库接口(IDC)
IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。
使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。
IDC使用两种文件来控制如何访问数据库以及如何创建返回的Web页面。
这些文件分别是IDC(.idc)文件和HTML扩展(.htx)文件。
在.htx文件中有六个关键字
(begindetail、enddetail、if、else、endif和"
%z"
)用来控制数据库中的数据怎样和.htx文件中HTML格式进行合并。
数据库列名说明HTML文档中什么数据被返回。
2.3.2ActiveX数据对象(ADO)
与IDC不同,用ADO访问数据库更类似于编写数据库应用程序,ADO把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。
ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。
ADO建立了基于Web方式访问数据库的脚本编写模型,它不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。
ADO使用本机数据源,通过ODBC访问数据库。
这些数据库可以是关系型数据库、文本型数据库、层次型数据库或者任何支持ODBC的数据库。
ADO的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。
相对于访问数据库的CGI程序而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通过连接池(ConnectionPool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库应用程序。
正是因为使用ADO需要编写脚本程序,所以ADO能够实现更复杂、更灵活的数据库访问逻辑。
目前,ADO包括Command、Connection、Recordset等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。
一般使用ADO访问数据库的ASP脚本程序应该使用Connection对象建立并管理与远程数据库的连接;
使用Command对象提供灵活的查询;
而使用Recordset对象访问数据库查询所返回的结果。
这三者是ADO中最基本也最核心的对象。
2.3.3远程数据服务(RDS)
RDS是IIS中新提出的概念,它是由ASP中原来的AdvancedDataConnector(ADC)发展而来的。
在IIS中,RDS与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。
它不仅能执行查询并返回数据库查询结果,而且这种结果是“动态的”,服务器上的数据库与客户端看到的数据保持“活的连接关系”。
即把服务器端的数据搬到客户端,在客户端修改数据后,调用一个数据库更新命令,就可以将客户端对数据的修改写回数据库,就象使用本地数据库一样。
由于RDS与ADO集成,RDS的底层是调用ADO来完成的,所以也可以将RDS理解为ADO的RDS,即ActiveX数据对象的远程数据服务。
所以RDS同样具有ADO的易用性,区别仅在于RDS需要与数据绑定控件一同使用,比如Sheridan的ActiveXDataBoundGrid控件。
正如ADO类似于VB中的RDO一样,RDS也类似于VB中的远程数据控件(RDC)。
第三章系统分析
系统分析
在软件生命期的各个阶段中,分析阶段是面向“问题”的,它主要是对用户的业务活动进行分析,明确在用户的业务环境中,软件系统应该“做什么”;
后面的设计、编程阶段则是面向“解答”的,这时考虑的是如何构造一个满足用户要求的系统。
本系统是基于WEB的微电子实验室管理系统。
它应该能通过浏览器对数据进行插入、查询、修改及删除等操作,它必须解决访问客户与WEB服务器之间信息的动态交互问题,WEB服务器与信息源(数据库)之间的动态联接问题,以及访问权限等问题。
系统规划
在综合考虑微电子实验室的资源条件(既设备的数量和质量),学院总体教学安排情况(既教学工作量、教学课程安排、教学时间安排等等)这两者的具体情况下,从合理性和实用性的角度出发,经过反复的调查研究和分析,最后形成的系统包括以下模块:
①首页②实验室概况③教师学生管理④实验设备管理⑤实验课表安排⑥信息新闻发布⑦留言板
系统功能结构如下图(下一页)
系统功能模块图:
N
Y
功能说明:
●学生数据管理:
主要用来对所有学生数据进行管理。
●设备借用管理:
主要是针对学生实验借用实验设备管理而开发。
可以随时了解设备借用情况。
●设备数据管理:
主要用来对微电子实验室的各种设备进行管理。
通过本模块可以随时了解设备的总体情况,并保证设备始终处于良好的运行状态,提高设备的利用率。
●教师数据管理:
主要用来对教师数据进行管理。
●实验课表管理:
通过微电子实验室人员、教务部门及任课教师的协调下,综合确定出各个学期的实验课程安排计划。
●留言板:
是学生在这里求教和交流的地方。
●实验室通知:
用来发出实验室近期公告、通知,使学生能提前了解,以便及时调整实验时间、地点等。
●信息新闻发布:
采用直接链接西安邮电学院的新闻,实现资源共享。
同时也可以发布通知。
第四章系统的设计实现
页面的框架结构设计:
根据本系统的特点,考虑将显示区按下图划分为3个子区,分别对应于页面:
顶部区,数据管理区,数据显示区。
顶部区
数据管理区
数据显示区
为了按设想的划分屏幕显示区,需要使用HTML语言中的框架标签〈Frameset〉。
其格式有3种:
●<
FRAMESET>
…<
/FRAMESET>
这种格式的框架标签用于将显示区按照一定的比例进行横向或纵向划分。
起始框架标签<
中需要包含一个子句来说明划分方式。
该子句可以是以下这几种形式:
①CLOS=“分割比例”。
该子句指示将页面按比例进行纵向划分。
其中分割比例该出的是每个子区所占的百分比。
②ROWS=“分割比例”。
该子句指示将页面按比例进行横向划分。
FRAMESETSRC=“网址”>
这种格式的框架标签通常被包含在第一种标签之内,作为它的一个元素,以说明某个子区对应哪个网页的地址。
NOFRAMES>
/NOFRAMES>
这种格式的框架标签也是第一种标签的元素,通常处于最外层框架的结束标签<
的前面。
当客户机上的浏览器兼容性差而不能支持页面框架时,将把该标签中定义的内容显示给访问者。
在本系统中,屏幕显示区划分程序如下:
<
html>
head>
title>
微电子实验室管理系统主页<
/title>
/head>
framesetframespacing="
0"
border="
ROWS="
21%,79%"
frameborder="
>
<
FRAMEname="
contents"
SRC="
"
>
COLS="
207,*"
frameborder="
SRC="
<
FRAMEname="
main"
noframes>
p>
此网页使用框架,只是您的浏览器并不支持.<
/p>
/noframes>
/frameset>
/html>
结果如下:
登录页面的设计
本系统的访问权限分为三级:
管理人员,注册学生,教师。
管理人员进入时,需要输入用户名和密码,其可以执行所有操作,拥有系统的全部功能。
注册学生只需要输入学生姓名及密码(学号),点击登录按钮,如果数据库中学生数据表中存在此姓名及密码,即可进入主页面,但其只能执行不改变数据库记录的操作。
如执行其它操作,则提示:
“对不起,您无权执行该操作!
”。
教师登录也同样,只是拥有除删除外的所有功能。
登陆页面的设置流程图:
是
否
数据库的建立
首先利用MicrosoftAccess数据库创建了一个名为的数据库。
然后在中建立六个基本表。
分别为学生数据管理表,上机数据管理表,设备数据管理表,上机课表数据管理表,教师数据管理表及上机环境预定表。
如下图:
学生数据管理
该部分主要用来对所有学生数据进行管理。
表中的每个学生设置9个属性字段,分别是学号、姓名、性别、系名、班级、专业、身份证号、电话、照片名。
可以对其进行添加、修改、删除、查询和显示列表等操作。
4.4.1添加功能(学生注册):
客户端以Post方式将数据提交该服务器,然后用SQL语句写入数据库。
实现其功能的部分代码如下:
%
name=trim("
name"
))
num1=trim("
num1"
sex=trim("
sex"
ximing=trim("
ximing"
zy=trim("
zy"
banji=trim("
banji"
num2=trim("
num2"
num3=trim("
num3"
num4=trim("
num4"
'
声明Connection(数据库链接)对象
SetDBConnection=("
)
设定与数据库链接的链接字符串
ConnectionString="
Provider=Source="
&
("
../"
打开链接数据库的信道
ConnectionString
声明Recordset对象
ifname<
andnum1<
andsex<
andximing<
andzy<
andbanji<
andnum2<
then
mys