目录
摘 要
随着信息技术的飞速发展和日趋激烈的商业竞争,企业已不再满足于独立、零散的办公自动化应用,企业需要的是协同工作、综合、集成化的解决方案。而网络是解决由于物理距离造成的信息交流不畅、协商沟通不便的办公瓶颈问题的最佳方式。企业网上办公自动化通过对各办公自动化要素的闭环整合,实现了工作流、信息流、知识流和办公自动化系统的整合管理,提供了一个科学、开放、先进的信息化办公平台,实现办公自动化,并进行远程办公或在家办公。企业网上办公自动化将人从繁琐、无序、低序、低端的工作中解放出来从事核心事务,整体提高了单位办事效率和对信息的可控性,降低办公成本,提高执行力,使管理趋于完善。
第一章 前 言
20世纪末,随着计算机科学的发展,数据库技术在Internet和Intranet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。本文描述了如何使用ASP技术来组建企业内部办公管理网站。它实现了以下功能:
员工信息的发布与共享,本文中的员工信息管理系统主要是实现员工资料的录入、信息的查询、记录和管理。作为日常办公管理系统和企业办公内网的一部分,企业员工信息管理系统可以便于公司领导掌握人员的动向,及时调整人才的分配。
员工之间的信息交流,本文中的内部信息系统可以实现公司内部通知的发布、各种具体问题的。
第二章 编程环境
2.1HTML
HTML是用来表示Web文档的规范,它使用标记来确定网页显示的格式静态网页是标准的HTML文件,动态网页经过应用程序服务器的处理后也将生成标准的HTML文件。
2.1.1 HTML的工作原理
所谓静态网页,就是说该网页文件里没有程序代码,只有HTML标记,这种网页一般以后缀.htm或.html存放。如果要修改有关内容,就必须修改源代码,然后重新上传到服务器上。
发出请求
发回网页
(客户端) (服务器端)
2.1.2 HTML文档的基本结构
HTML文档的基本结构可以表示如下:
<HTML>文件开始
<HEAD>文件头开始
<TITLE>标题文字</TITLE>
</HEAD>文件头结束
<BODY>文件体开始
2.1.3 HTML标识符
①<font>常用字体属性
<h#>...</h#>#=1,2,3,4,5,6标题字体
Hn>--</hn>这些标记显示黑体字
<Basefont>指明所有文档的基础字体大小
<fontcolor=#>...</font>指定字体颜色,以颜色常数或RGB 值指定
<p>...</p>创建段落\
<BR>创建一个换行符
<Nobr>...</Nobr>阻止文本自动换行
<hnalign=#>...</hn>n=1,2,3,4,5,6指明标题的对齐方式
<panlign=#>...</p>=left,center,right 对齐段落的内容方式
②<img>图象设置
<Img>指明在文挡中显示的图片
<imgsrc>图象的URL
<imgwidth>value以像素为单位指明图片的宽度
<imgheight>value以像素为单位指明图片的高度
<imgalign=#>#=top,middle,bottom,left,center,right指明图片的对齐方式
<imgvspace=#hspace=#>#value以像素为单位指明图片上下两边的垂直空间大小
<imgborder=#>#=value图片边界的尺寸
③<form>定义表单
<Input>标识符中TYPE属性的类型
<Text>文本框
<Password>密码框,输入的文本将会以*显示
<Radio>声音
<Submit>提交表单按扭
<Reset>清除表单的按扭
<File>文件上载按扭
<Textarea>多行文本框
<Hidden>不显示的表单域
<image>图象提交表单按扭
④able>表格设置
<td></td>定义一个单元格
<tr></tr>定义表格中的一行
<Th>...</th>为表创建一表头
<Caption>...</Caption>为一个表提供一个标题
<tablealign=#>align=left,center,right表格的对齐方式,默认左对齐
⑤<Frameset>框架
<Frameset>...</Frameset>用于包含框架集合
<noframes>标记后的文字将只出现在不支持框架的浏览器中
<framesetcols>指明框架的列划分形式,纵向排列多个窗口
<framesetrows>指明框架的列划分形式,横向排列多个窗口
<ahref=urltarget=-blank>新窗口
<ahref=urltarget=-self>本窗口
<ahref=urltarget=-parent>父窗口
<ahref=urltarget=-top>整个浏览器窗口
<frameframeborder=#>#=yes,no/1,0指明该框架是否有边界
<frameframespacing>空白区域的大小以像素为单位指明框架间的距离.
<framesetbordercoler>指明框架边界的颜色
<framemarginwidth marginheight>以像素为单位指明框架页边的宽度和高度.
</BODY>文件提结束
</HTML>文件结束
2.2ASP脚本语言—— VBscript
VBScript是程序开发语言Visual Basic家族的最新成员,可以将灵活的脚本应用于更广泛的领域,包括Microsoft Internet Explorer中的Web客户端脚本和Microsoft Internet Information Server中的Web服务器端脚本。.VBScript脚本代码通常是将脚本代码放在 HEAD部分中,并应以<SCRIPT >标记开始,以</SCRIPT>标记结束。
2.2.1 VBscript代码的基本格式
一般的ASP程序都是将VBscript代码放在服务器端执行,此时有两种方法。
方法一:<%VBscript代码%>
方法二:<Script Langeage=”VBscript”Runat=”Server>
VBscript 代码
</script>
有是VBscript代码放在客户端执行,此时代码如下:
<Script Langeage=” VBscript”>
VBscript代码
</Script>
2.2.2 VBscript数据类型
在VBScript语言中只有一种数据类型,即Variant,也叫变体类型,这种数据类型可以包含不同类别的信息,它也是VBScript中所有函数的返回值的数据类型。
2.2.3 常量与变量
(1)常量
常量时在程序执行期间其值不发生变化的数据。在VBScript中,常量分为普通常量和符号常量。
①符号常量
符号常量是用一个标识符表示的常量,用于代替数字或字符串,其值从发生不改变。在VBScript中,符号常量分为预定义符号常量和用户自定义常量。VBScript提供了许多预定义符号常量,在编写脚本代码时无须声明即可直接使用。例如,vbCrLf表示回车符和换行符的组合,vbGreen表示绿色的数值。
②普通常量
普通常量分为字符串常量和数值常量两种。
字符串常量简称字符串,它由一对双引号括起来的字符序列所组成,其中可以包含字母、汉字、数字,空格以及标点符号等,长度不超过20亿个字符。
数值常量分为整型数、长整型数和浮点数。浮点数也称为实型数,分为单精度浮点数和双精度浮点数。浮点数可以用小数形式表示,也可以用科学记数法表示。
(2)变量
变量是内存中命名的存储位置,变量的值可以动态变化,在程序设计中能发挥重要的作用。在VBscript中,可以使用Dim,Private,Public关键字声明变量,Private用来声明私有变量,Public用来声明公共变量,Dim用来声明过程变量。
①声明变量
变量的声明包括显式声明、隐式声明和强制显式声明。
此外,也可以通过直接在脚本中使用变量名这种方式隐式声明变量。但这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚本时出现意外的结果。
若要强制显式声明所有变量,可以在脚本程序的开头处使用下面的语句:Option Explicit
2.2.4 VBscript函数
VBscript提供了比较丰富的函数(Function)和过程(Sub),VBscript函数可以分为数学函数,字符串函数,日期函数,转换函数和其他函数。
①数学函数
函数名 |
具体描述 |
Abs |
返回数字的绝对值 |
Atn |
返回数值的反正切值 |
Cos |
返回某个角的余弦值 |
Eval |
计算表达式的值,并返回结果 |
Exp |
返回e(自然对数的底)的幕次方 |
Int,Fix |
返回数据的整数部分 |
Hex |
返回表达十六进制数字值的字符串 |
Log |
返回数值的自然对数 |
Oct |
返回表示数字八进制值的字符串 |
Rnd |
返回一个随机数 |
Round |
返回按指定位数进行四舍五入的数值 |
Sng |
返回表示数字字符号的整数,当参数大于0时,返回1;当参数小于0时,返回-1;当参数等于0时,返回0。 |
Sin |
返回某个角的正弦值 |
Sqr |
返回数值的平方根 |
Tan |
返回某个角的正切值 |
②字符串函数
函数名 |
具体描述 |
Asc |
返回字符串第一个字母的ASCII值 |
Chr |
返回与指定的ANSI字符代码相对应的字符 |
Filter |
对字符串数组进行过滤,将满足匹配条件的元素构成的数组返回 |
Instr |
返回某字符串在另一字符串中第一次出现的位置 |
InstrRev |
返回某字符串在另一个字符串中出现的从结尾计起的位置 |
Join |
返回字符串,次字符串由数组中的多个子字符串连接而成 |
LCase |
返回字符串的小写形式 |
Left |
返回指定数目的从字符串的左边算起的字符 |
Len |
返回字符串内字符的数目,或是存储一变量所需的字节数 |
LTrim |
截去字符串的前导空格 |
Mid |
从字符串中返回指定数目的字符 |
Replace |
替换指定字符串中的子串 |
Right |
从字符串右边返回指定数目的字符 |
Space |
返回由指定数目的空格组成的字符串 |
Split |
将字符串按照指定的分隔符进行拆分,得到的子字符串保存在一维数组中返回 |
Strcomp |
返回字符串的比较值 |
Rtrim |
截去字符串尾部不空格 |
String |
返回具体指定长度的,重复字符组成的字符串 |
StrReverse |
返回字符串,此字符串与指定字符串的顺序相反 |
Trim |
截去字符串前后空格 |
Ucase |
返回字符串的大写形式 |
③日期函数
函数名 |
具体描述 |
Date |
返回当前的系统时间 |
DateAdd |
返回已添加指定时间间隔的日期 |
DateDiff |
返回两个日期之间的时间间隔 |
DatePart |
返回给定日期的指定部分 |
DateSerial |
对于指定的年,月,日,返回Date字类型的Variant,使用方法为Dateserial(year,month,day) |
DateValue |
返回Date子类型的Variant,参数为字符串表达式 |
Day |
返回日期参数中的日(相对与年,月)数据 |
Hour |
返回日期参数中的小时数据 |
Minute |
返回日期参数中的分钟数据 |
Month |
返回日期参数中的月数据 |
Monthname |
返回表明指定月份的字符串 |
Now |
根据计算机系统设定的日期和时间返回当前的日期和时间值 |
Second |
返回日期参数中的秒数据 |
Time |
返回Date子类型Variant,指定当前系统时间 |
Timer |
返回午夜12时以后已经过去的秒数 |
TimeSerial |
返回一个Date子类型的Variant,含有指定时,分,秒的时间 |
TimeValue |
返回包含时间的Date的Variant |
Weekday |
返回代表一星期中某天的整数 |
WeekDayName |
返回一个字符串,表示星期中指定的某一天 |
Year |
返回一个代表某年的整数 |
④转换函数
函数名 |
具体描述 |
CBool |
将指定表达式转换为Boolean子类型的Variant |
CByte |
将指定表达式转换为Byte子类型的Variant |
CCur |
将指定表达式转换为Currency子类型的Variant |
CDate |
将指定表达式转换为Date子类型的Variant |
CDbl |
将指定表达式转换为Double子类型的Variant |
Cint |
将指定表达式转换为Integer子类型的Variant |
Clng |
将指定表达式转换为Long子类型的Variant |
Csng |
将指定表达式转换为Single子类型的Variant |
CStr |
将指定表达式转换为String子类型的Variant |
⑤格式化函数
函数名 |
具体描述 |
FormantCurrency |
将指定表达式转换为格式化的货币值 |
FormantDatetime |
将指定表达式转换为格式化的日期时间值 |
FormantNumber |
将指定表达式转换为格式化的数值 |
FormantPercent |
将指定表达式转换为百分比格式 |
⑥布尔函数
函数名 |
具体描述 |
Isarray |
判断参数是否是数组 |
IsDate |
判断参数是否可以转换为日期型 |
Isempty |
判断参数是否被初始化 |
Isnull |
判断参数是否包含有效的数据 |
Isnemeric |
判断参数是否是数字 |
Isobject |
判断参数是否引用了有效的Automation对象 |
⑦其他函数
函数名 |
具体描述 |
Array |
返回一个数组,语法为Array(arglist) |
Createobjiect |
创建并返回对Automation对象的引用 |
GetLocale |
返回当前区域设置ID值 |
Getobject |
返回对文件中Automation对象的引用 |
Getref |
返回一个指定向过程的引用,此过程可绑定某事件 |
Lbound |
返回指定数组维的最小可用小标 |
Loadpicture |
返回图片对象,参数指定图象文件的路径和名称 |
RGB |
返回代表RGB颜色值的整数 |
ScriotEngine |
返回一个代表当前使用的脚本程序语言的字符串 |
ScriotEngineBuildversion |
返回使用的编写脚本引擎的编译版本 |
ScriotEngineMajorversion |
返回使用的编写脚本引擎的主版本号 |
ScriotEngine |
返回使用的编写脚本引擎的次版本号 |
TypeName |
返回字符串,表示指定数据的字类型 |
UBound |
返回指定数组维数的最大可用下标 |
VarValue |
返回指示变量子类型的值 |
2.2.5 VBsctipt过程
①Sub过程
声明Sub子程序的语法:
Sub子程序名(参数1,参数2,…)
……
End Sub
或
Sub子程序名()
……
End Sub
End Sub过程有两种调用方式:
⒈使用Call语句:
Call子程序名(参数1,参数2,…)
⒉不使用Call语句:
子程序名 参数1,参数2,…
②Function函数
Function函数名(参数1,参数2,…)
……
End Function
或
Function 函数名()
……
End Function
2.2.6 使用条件语句
①If...Then...Else语句
If...Then...Else语句用于判断条件是True或False,并根据判断结果指定要运行的语句
⒈If...Then...End If
If 条件语句Then
执行语句
End If
⒉If...Then...End If(单条件)
If 条件语句Then
执行语句1
Else
执行语句2
End If
⒊If...Then...End If(多条件)
If 条件语句1 Then
执行语句1
ElseIf条件语句2 Then
执行语句2
End If
②Select Case语句
Select Case语句是If...Then...Else...End If语句多条件的另外一种形式,
Select Case语句的语法:
Select Case变量或表达式
Case 结果 1
执行语句 1
Case 结果2
执行语句 2
......
Case 结果n
执行语句n
Case Else
执行语句n+1
End Selsct
2.2.7 使用循环语句
①For...Next循环是一种强制型的循环,用于将语句块运行指定的次数,在循环中使用记数器变量,该变量随每次循环增加或减少。
语法:
For counter=start To end [Step number]
执行语句
Next
②Do...loop循环
它是一种条件型的循环,当条件为True时或条件变为True之前,重复执行语句块
⑴语法一:
Do While 条件1
执行语句
Loop
或
DO
执行语句
Loop While 条件2
⑵语法二:
Do Until条件3
执行语句
Loop
或
Do
执行语句
Loop Until 条件4
③While...Wend循环
语法:
While条件
执行语句
Wend
④For Each... In循环
语法:
For Each 元素In集合
执行语句
Next
2.3Asp内置对象
2.3.1 Request对象:
接收客户端在请求一个页面或传送一个表单时提供的所有信息,包括能够标识浏览器和用户的HTTP变量、Cookie信息以及附在URL后面的值(查询字符串或表单数据)。
ASP内部对象简要说明
对象 |
功能 |
Request |
从客户端获得数据信息 |
Response |
将数据信息输送给客户端 |
Session |
存储单个用户的信息 |
Application |
存放同一个应用程序中的所有用户之间的共享信息 |
Server |
创建COM对象和Scripting |
(1)Request对象的获取方法
获取方法 |
功能 |
QueryString |
从查询字符串中读取用户提交的数据 |
Form |
取得客户端在FORM表单中所输入的信息 |
Cookies |
取得客户端浏览器的Cookie值 |
ServerVariables |
取得服务器端环境变量信息 |
ClientCertificate |
取得客户端浏览器的身份验证信息 |
(2)Request对象的方法
BinaryRead。该方法以二进制方式来读取客户端使用POST传送方法所传递的数据。
(3)Request对象的作用
读取网址参数
读取服务器环境变量
读取表单传递的参数
读取Cookie的数据
上传文件
2.3.2 Response对象:
用于向客户端浏览器发送信息,或者将访问者转移到另一个网址,并可以设置和控制Cookie信息等。
(1)Response对象的集合
Response对象只有一个集合,即Cookies集合。
(2)Response对象的方法
方法 |
说明 |
Write |
Response对象中最常用的方法,用来送出信息给客户端 |
Redirect |
引导客户端浏览器至新的Web页面,前面已经做过详细介绍 |
BinaryWrite |
输出二进制信息 |
Clear |
清除在缓冲区的所有HTML页面 语法:Response.Clear 此时,Response对象的Buffer属性必须被设置为True,否则会报错 |
End |
终止处理ASP程序,并返回当时的状况 语法:Response.End |
Flush |
立刻送出缓冲区的HTML数据 语法:Response.Flush 此时,Response对象的Buffer属性必须被设置为Ture,否则回报错 |
Response对象的属性
属性 |
说明 |
Buffer |
设置为缓冲信息,取值True或alse,默认为False |
ContentType |
控制送出的文件类型 |
(3)Response对象的作用
输出内容到网页(客户端)
写入Cookie
网页重定向
下载文件
2.3.3 Session对象:
存储一个会话内的信息。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束或者通过脚本设置中止的期限。
(1)Session工作作原理
在一个应用程序中,当客户端启动一个Session时,ASP会自动产生一个长整数SessionID,并且把这个SessionID送回给客户端浏览器,浏览器会把这个SessionID存放在Cookies内。当客户端再次向服务器送出HTTP请求时,ASP会去检查申请表头的SessionID,并返回该SessionID对应的Session信息。
(2)Session对象的属性
① SessionID ——存储用户的SessionID;
② Timeout ——Session的有效期时长。
方法只有一个:
Abandon——清除Session对象
事件有两个,必须和Global.asa结合使用:
①Session_OnStart——一个Session对象开始前,便调用该程序;
②Session_OnEnd——一个Session对象结束后,便调用该程序。
(3)Session对象的方法
Abandon:清除Session对象并释放其资源
Contents.Remove:从Contents集合中删除一个项目
Contents.RemoveAll:从Contents集合中删除所有项目
(4)Session对象的作用
存储与某次访问相关的信息
设置这个访问的代码页,日期格式等
(5)Response的Cookies方法的参数
参数 |
说明 |
Cookiesname |
Cookies变量名称 |
关键字 |
若指定了Key,则该Cookies就是一个集合,它包含几个关键字,可以分别赋值 |
属性 |
指定Cookies自身的信息 |
(6)Session对象的过期6
Session的使用是有时间期限的,当用户连接到一个Web站点,并请求ASP服务时,Session对象被创建,Session建立后,在指定的时间期限内,若没有发生任何访问请求或刷新操作,Session将会被中止,着就是超时。
系统默认的超时期限为20分钟,超时的时间期限可以通过设置Timeout属性进行修改,Timeout属性一分钟为计量单位。例如:
<%Session.Timeout=5%>
出超时会自动结束一个Session外,Session对象的Abandon方法也能够结束一个Session。执行如下语句:
<%Session.Abandon%>
会清除所有存储在Session对象中的内容,释放所占用的Web服务器资源,从而结束Session。
需要说明的是当调用Abandon方法后,当前的Session对象会被放到删除队列中,但是Session并不会立即被删除,而是待当前页面中所有的脚本命令被执行完毕,才真正删除Session对象。
2.3.4 Application对象:
在一个ASP应用中让不同客户端共享信息。Application对象是在为响应一个ASP页的首次请求而载入Asp.dll时创建的,它提供了存储空间用来存和对象的引用,可以用于所有的页面,任何访问者都可以打开这些页面。
(1)Application对象的集合
Contents:含所有通过脚本命令添加到应用程序中的项目
Staticobjects:还通过OBJECT标记创建的并给了应用程序作用域的对象
(2)Application对象的方法
使用Lock方法时,系统将禁止其他用户修改存储在Application对象中的变量,以确保在同一时刻仅有一个用户可以修改和存取Application对象。
Lock:禁止其他客户修改Application对象的属性。
Unlock:允许其他客户修改Application对象的属性。
(3)Application对象的事件
Application对象有两个事件:Application_Onstart事件和Application_OnEnd事件,Application_Onstart事件在应用程序被启动时被触发,Application_OnEnd事件则在应用程序终止时被触发。
Application_Onstart事件和Application_OnEnd事件的处理程序被放在文件Global.asa中。
2.3.5 Server对象:
提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许在当前页的环境或会话中在服务器上实例化其他COM对象。
(1)Server对象的属性
Server对象仅支持ScriptTimeout属性,该属性用来规定脚本文件执行的最长时间。默认最长时间为90秒。
(2)Server对象的方法
CreateObject:创建服务器组件。用应对象或脚本对象的实例。
Execute:执行一个.asp文件
MapPath:将指定的虚拟路径,无论是当前服务器上的绝对路径,还是当前页的相对路径,映射为物理路径
Transfer:将当前所有的状态信息发送给另一个.asp文件进行处理
(3)Server对象的作用
创建组件实例
获取服务器的物理路径
对字符串进行HTML编码
转向执行其他ASP文件
2.4ADO组件
ASP用Database Access(数据库访问)组件与数据库进行连接,Database Access(数据库访问)组件通过ActiveX Data Objects(ADO)访问存储在数据库或其他表格化数据结构中的信息。
2.4.1 ADO简介
ADO是ActiveX Data Object的缩写,称为ActiveX数据对象,是为OLE DB设计的应用编程接口,使用ADO对象实现在ASP页面中对数据库的访问。在ASP页面中,OLE DB及ODBC无法直接使用,但是ADO却是一种可以在ASP中使用的 标准对象,通过ADO就可以调用OLE DB提供者或者ODBC驱动程序来访问数据库。
2.4.2 ADO的对象
ADO组件中定义了三个主要对象:Connection(连接对象)、Command(命令对象)、Recordset(记录集对象);对于每个主要对象包含有一个子对象及其集合。
Connection(连接对象):用于建立应用程序与数据库之间的连接,是其他对象的基础。它包含的Errors集合和Error对象,用来记录连接过程中所发生的错误信息。
Command(命令对象):可执行一个SQL查询、存储过程或有参数的查询,来对数据源操作。它包含的Parameters集合和Parameter对象,用来传递Command对象所需的命令参数。
RecordSet(记录集对象):代表从数据表中通过查询所获得的一组记录,通过该对象所提供的方法与属性,可实现对记录的存取操作。它包含的Fileds集合和Filed对象用来记录Recordset对象中各个字段的相关属性。
如图是3个对象的示意图其中Error对象(错误对象)是Connection对象的一个子对象;Parameter对象(参数对象)是Command对象的一个子对象;Filed对象(字段对象)是RecordSet对象的子对象。
2.4.3 建立Connection对象
在ADO中建立对象一般需要利用Server对象Createobject方法。语法如下:
Set Connection对象=Server. Createobject (“ADODB.Createobject”)
“Driver={Microsoft Access driver (*.mdb)}; dbq=”&server.mappath(“表名.mdb”)
⑴Connectionstring属性
①Attributes 设置Connection对象控制事务处理时的行为
②CommandTimeout Execute方法的最长执行时间
③ConnectionString指定Connection对象的数据库信息
④ConnectionTimeout Open方法与数据库连接的执行最长时间
⑤Cursorlocation 控制光标的类型
⑥Defaultdatebase 指定Connection对象的缺省数据库名称
⑦Isolationlevel 指定Connection对象事务处理的时机
⑧Mode 设置连接数据库的权限
⑨Provider 设置Connection对象内定的数据库管理程序名称
⑩Version 显示ADO对象的版本信息
⑵Connection对象的常用方法
①Open 建立数据库连接
②Close 关闭与数据库的连接
③Execute 执行数据库查询(可执行各种操作)
④BeginTrans 开始事务处理
⑤CommitTrans 提交事务处理结果
⑥RollbackTrans 取消事务处理结果
⑶Open方法
Open方法用于打开刀数据源的链接,Open方法的语法结构如下:
Connection. Open Connectionstring,UserID,Password,Options
Close方法
Close方法用于关闭数据源。
Connection对象的Open方法的参数
参数 |
说明 |
Dsn |
ODBC数据源名称 |
User |
数据库登录帐号 |
Password |
数据库登录密码 |
Driver |
数据库的类型(驱动程序) |
Dbq |
数据库的物理路径 |
Provider |
数据提供者 |
2.4.4 Command对象的属性
①ctiveConnection属性 通过设置ActiveConnection属性使打开的链接与Command对象关联。
②ommandText属性 定义命令(例如SQL语句)的可执行文本
③CommandType属性 指定数据查询信息类型
④CommandTimeout属性 指定Command对象的Execute方法的最长执行时间,默认为30秒,若设为0,则表示永久等待。
⑤Prepared 指定数据查询信息是否要先行编译,存储。
⑵Command对象的方法
①Execute 执行数据库查询
②Createparameter 用来创建一个Parameter子对象
2.4.5 Recordset对象
⑴Recordset对象的常用属性
属性 |
说明 |
Source |
Command对象名或SQL语句或数据表名 |
ActiveConnection |
Connection对象名称包含数据连接信息的字符串 |
CursorType |
Recordset对象记录集中的指针类型 |
MaxRecords |
控制从器取得的记录集的最大记录数目 |
LockType |
Recordset 对象的使用类型 |
CursorLocation |
控制数据处理的位置 |
Fillter |
控制欲显示的内容 |
RecordCount |
记录集的总数 |
Bof |
记录集的开关 |
Eof |
记录集的结尾 |
Pagesize |
数据分布显示时第一页的记录数 |
pagecount |
数据分页显示时数据页的总数 |
Absolutepage |
当前指针所在的数据页 |
Absoluteposition |
当前指针所在的记录行 |
⑵Recordset对象的方法
①Open 大开记录集
②Close 关闭当前的Recordset对象
③Requery 重新打开记录集
④MoceFirst 将记录指针移动到第一条记录
⑤MovePrevious 将记录指针移动到上一条记录
⑥MoveNext 将记录指针移动到下一条记录
⑦MoveLast 将记录指针移动到最后一条记录
⑧Move 将指针移动到指定的记录
第三章、需求分析
3.1功能需求
1.系统采用人机对话方式,界面清晰、信息查询灵活、方便、快捷、准确、数据存储安全可靠。
2.利用系统快速的统计生产的数据报表,并对报表信息进行打印。
3.键盘操作,快速响应。
4.实现了各类发文信息、公共信息的强大的管理能力。
5.实现对员工基础信息(人事管理)的管理功能等。
6.实现了个人办公的信息自动化管理功能。
7.对企业的采购计划、库存信息进行管理。
8.发布生产指标,对企业生产指标信息进行管理。
9.发布会议信息,并对会议信息进行管理。
10.对系统用户进行管理。
11.为了加强数据保密性,为每个用户设置权限级别。
12.系统最大限度地实现了易安装性、易维护性和易操作性。
13.系统运行稳定、安全可靠。
3.2开发及运行环境
硬件平台:
CPU:P41.8GHz。 本机Intel(R)Celeron(R) CPU 2.80GHz 2.80GHz
内存:256MB以上。本机521MB.
操作系统:Windows XP专业版/ Windows 2000。 本机Win XP
编辑脚本:Vbscript
使用的编辑器:dreamweaver MX8
数据库:Access 2003。
浏览器:IE6.0,推荐使用IE6.0。
Web服务器:IIS 4.0以上。本机IIS V5.1
第四章、总体设计
4.1功能模块结构图
4.1.1 系统功能结构图
4.2数据库设计
创建ACCESS数据库office.mdb,用来保存本系统的所有数据,保存在“office”文件夹下。数据库中包含以下12个表,部门表Departments,员工基本信息表Employess,培训信息表Training,培训报名信息表Trainingsign,会议信息表Meeting,会议室信息表MeetingRooms,资料信息表Informarion,资料如库表Infoin,资料借阅表Infolend,类型信息表 Types,用户信息表Users和系统管理员表Sysadmin.
1.部门表 Departments
表Departments用来保存企业部门的信息,结构如表1所示
表1 表Departments的结构
编号 |
字段名称 |
数据类型 |
说明 |
1 |
Depid |
自动编号 |
部门编号,主键 |
2 |
Depname |
文本50 |
部门名称 |
3 |
Upperid |
数字 |
上级部门编号 |
2.员工基本信息表Employess
表Employess 用来保存员工的基本信息,结构如表2所示
表2 表Employess的结构
编号 |
字段名称 |
数据类型 |
说明 |
1 |
Empld |
自动编号 |
员工编号,主键 |
2 |
Empname |
文本50 |
姓名 |
3 |
Sex |
文本10 |
性别 |
4 |
Nationality |
文本30 |
民族 |
5 |
Birtrh |
文本20 |
生日 |
6 |
Academic |
文本20 |
学历 |
7 |
Marital |
文本20 |
婚姻状况 |
8 |
Original |
文本20 |
籍贯 |
9 |
Id_card |
文本50 |
身份证号 |
10 |
Office_phone |
文本50 |
办公电话 |
11 |
Mobile |
文本50 |
手机号码 |
12 |
Hiredate |
文本20 |
到岗日期 |
13 |
Depid |
数字 |
所在部门编号 |
14 |
Etitle |
文本30 |
职务 |
15 |
Estate |
文本20 |
员工状态 |
16 |
Memo |
文本200 |
备注 |
17 |
Imageurl |
文本200 |
照片文件名 |
3.培训信息表Training
表Training用来保存培训信息,结构如图3所示
表3 表Training的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Id |
自动编号 |
培训编号 |
2 |
Createdate |
日期/时间 |
创建日期 |
3 |
Subject |
文本200 |
培训主题 |
4 |
Status |
文本10 |
当前状态,包括创建,发布 |
5 |
tTypeid |
数字 |
培训类型,0表示内部培训,1表示外部培训 |
6 |
Stypeid |
数字 |
主题类型 |
7 |
Plsce |
文本100 |
培训地点 |
8 |
Teacher |
文本50 |
培训人 |
9 |
Startdate |
文本50 |
培训开始日期 |
10 |
Enddate |
文本50 |
培训结束日期 |
11 |
Signsdate |
文本50 |
报名开始日期 |
12 |
Sigedate |
文本50 |
报名结束日期 |
13 |
Attendant |
文本200 |
参加人 |
14 |
Cost |
数字 |
培训费/人 |
15 |
Tdetail |
备注 |
培训介绍 |
16 |
File1 |
文本100 |
附件1的保存文件名 |
17 |
Filename1 |
文本100 |
附件1的实际文件名 |
18 |
File2 |
文本100 |
附件2的保存文件名 |
19 |
Filename2 |
文本100 |
附件2的实际文件名 |
4.培训报名信息表Trainingsign
表Trainingsign用来保存培训报名信息,结构如表4所示
表4 表Trainingsign的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Id |
自动编号 |
报名编号 |
2 |
Trid |
数字 |
培训编号 |
3 |
Signdate |
日期/时间 |
报名日期 |
4 |
Userid |
文本50 |
用户名 |
5 |
Status |
文本10 |
当前状态,提交,确认 |
5.会议信息表Meeting
表Meeting用来保存会议信息,结构如图5所示
表5 表Meetin的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
ID |
自动编号 |
会议编号 |
2 |
Subject |
文本200 |
会议主题 |
3 |
Mdate |
文本50 |
开始和结束日期 |
4 |
Mtime |
文本50 |
开始和结束时间 |
5 |
Roomno |
文本20 |
会议室编号 |
6 |
Preside |
文本100 |
主持人 |
7 |
Attendant |
文本200 |
与会人员 |
8 |
Mdetail |
备注 |
会议内容介绍 |
9 |
Status |
文本10 |
创建,发布 |
10 |
Createdate |
日期/时间 |
创建时间 |
11 |
Poster |
文本50 |
创建人 |
6.会议室信息表MeetingRooms
表MeetingRooms用来记录会议室信息,表结构如表.6所示
表6 表MeetingRooms的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Roomno |
文本20 |
会议室编号 |
2 |
Roomname |
文本50 |
会议室名称 |
3 |
Roomsize |
数字 |
容纳人数 |
4 |
Resourse |
文本200 |
相关资源 |
7.资料信息表Information
表Information用来保存资料信息,机构如表7所示
表7 表Information的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Infono |
文本50 |
资料编号 |
2 |
Infoname |
文本100 |
资料名称 |
3 |
Typeid |
数字 |
资料分类编号 |
4 |
Icount |
数字 |
数量 |
5 |
Iprice |
数字 |
价格 |
6 |
Idetail |
备注 |
内容描述 |
7 |
Createdate |
日期/时间 |
创建日期 |
8.资料入库表Infoin
表Infoin用来保存资料入库信息,结构如表8所示
表8 表Infoin的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Inid |
自动编号 |
入库号 |
2 |
Infdate |
日期/时间 |
入库日期 |
3 |
Infono |
文本50 |
资料编号 |
4 |
Inprice |
数字 |
入库价格 |
5 |
Incount |
数字 |
入库数量 |
6 |
Indetail |
备注 |
说明 |
7 |
Poster |
文本50 |
入库者 |
8 |
Createdate |
日期/时间 |
创建时间 |
9 |
Flag |
数字 字节 |
审核标记,0表示未审核,1表示审核 |
9.资料借阅表Infolend
表Infolend用来保存资料借阅信息,结构如表9所示
表9 表Infolend的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Lendid |
自动编号 |
借阅号 |
2 |
Infono |
文本50 |
资料编号 |
3 |
Lenddate |
日期/时间 |
借阅日期 |
4 |
Empid |
数字 |
借阅员工编号 |
5 |
Lendcount |
数字 |
借阅数量 |
6 |
Flag |
数字,字节 |
标记,0表示借阅,1表示借阅,2表示归还,3表示归还确认 |
10. 类型信息表Types
表Types用来记录系统中使用的类型信息,包括课程类型和资料类型,
表Types的结构如图10所示
表10 表Types的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Type |
自动编号 |
类型编号 |
2 |
Typename |
文本50 |
类型名称 |
3 |
Flag |
数字 |
类型分类,1表示课程类型,2表示资料分类 |
11.用户信息表Users
表Users用来保存系统用户信息,结构如表11所示
表11 表Users的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Userid |
文本50 |
用户名,主键 |
2 |
Empid |
数字 |
员工编号 |
3 |
Userpwd |
文本50 |
密码 |
12.系统管理员表Sysadmin
系统管理员表Sysadmin用来保存系统管理员的基本信息,结构如表12所示
表12 表Sysadmin的结构
编号 |
字段名称 |
数据结构 |
说明 |
1 |
Adminid |
文本50 |
用户名 |
2 |
Adminpwd |
文本50 |
密码 |
4.3目录结构
Office目录下包含下面的子目录:
●Admin 用于存储系统管理员的后台操作脚本,包括部门管理和员工信息管理等功能
●Info 用于存储资料管理的操作脚本
●Meeting用于存储会议管理的操作脚本
●Pic 用于存储网页中的图片文件
●Training 用于存储培训管理的操作脚本
●其他ASP文件都保存在本文件目录下
第五章 详细设计
5.1模块功能介绍
系统主要包括以下功能模块:
系统登录模块:主要用于用户登录管理。
员工信息模块:主要包括姓名,性别,职务,入职时间,办公电话等。
培训信息模块:主要包括培训主题,培训类型,主题类型,状态,开始日期,
结束日期等。
会议安排模块:主要包括会议主题,会议室,会议日期,会议时间,主持人,
参加人员。
资料信息模块:主要包括资料编号,资料名称,分类名称,数量,价格。
1.前台页面运行结果
网站前台首页的运行结果如图1所示。
为了方便阅读将网站页面的各部分说明以列表形式给出,如表1所示。
表 1 网站首页解析
区域 |
名称 |
说明 |
对应文件 |
1 |
旗帜广告 |
用于显示网站的标识、标题 |
Index.asp |
2 |
技术支持 |
主要用于查看员工信息 |
Index.asp |
3 |
最新培训信息 |
主要用于员工了解信息报名参加培训 |
Index.asp |
4 |
会议安排 |
主要查看开会的时间地点 |
Indexasp |
5 |
内部资料信息 |
主要用于查看资料的分类,名称和价格 |
InfoList.asp |
6 |
修改密码 |
主要用于修改员工的密码 |
PwdChange.asp |
7 |
管理员入口 |
主要用于管理者进入系统后台 |
admin/index.asp |
8 |
展示区 |
主要用于显示相关操作或其他内容列表 |
main.asp |