ASP入门基础教程-实例 工资管理系统

2016-02-19 16:21 19 1 收藏

有了下面这个ASP入门基础教程-实例 工资管理系统教程,不懂ASP入门基础教程-实例 工资管理系统的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - Web开发 】

  系统分析

  一、主要功能如下:

  1、个人工资信息浏览;

  2、修改记录;

  3、添加记录;

  4、删除记录。

  二、系统结构图如下图:


 

  三、数据库设计:

  教职员工工资管理系统采用的是 Access 数据库,数据库名 RSGL 。由于本管理系统是一个很简单的管理系统,所以在 RSGL 数据库中只包含一个表,表名为:教师工资表。表内包含10个字段,其字段名分别为:所在部门、员工编号、员工姓名、基本工资、岗位工资、职位工资、年动工资、养老保险、医疗保险和实发工职。其结构如下图:


 

   四、主页面结构:

   本系统的主页面名为 main.asp 。它由上、下两个框组成,上框架链接一个菜单页面。下框用于显示记录信息。其代码如下:

      html         frameset rows="100,*" border="0"         frame name="top" noresize scrolling="no" src="Menu.asp"         frame name="Bottom" noresize src="list1.asp"         /frameset         noframes         /noframes       /html

 

 

  五、菜单页面的代码如下:(文件名为:main.asp)

  

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)
      html          headtitle职工工资/title/head          body bgcolor="#9ccdcd"          table align="Center" width="70%" border="0"          captionfont face=隶书 size=6职工工资管理/font/caption          tr height="30" bgcolor="#edf5f5" align="center"          tda href="list1.asp?no=First" target="Bottom"第一个/a/td          tda href="list1.asp?no=Previous" Target="Bottom"上一个/a          tda href="list1.asp?no=next" Target="Bottom"下一个/a          tda href="list1.asp?no=last" Target="Bottom"最后一个/a          tda href="list2.asp" target="bottom"修改/a/td          tda href="list3.asp" target="bottom"增加/a/td          tda href="list4.asp" target="bottom"删除/a/td          /tr           /table          /body       /html

  浏览记录

  一、浏览页面的功能:

  通过菜单栏上的导航条在浏览器上显示第一条、或上一条、或下一条、或最后一条记录。

  二、浏览页面的实现过程:

  1、连接数据库并打开教师工资表;

  2、通过条件判断语句,判断是不是刚打开网页,若是,则显示第一条记录,否则通过由 Request 对象获取的当前记录号,显示相应的记录;

  3、通过调用 ShowPage(objRS,no) 过程,显示记录;

  4、关闭记录集和数据库。

  三、浏览页面的代码如下:

htmlheadtitle教师工资表/title/headbody bgcolor="cccc99"%'定义一个过程,带有两个参数,一个表示记录集,一个表示当前记录号。Sub ShowPage(objRS,no)objRS.AbsolutePosition=no '指定当前记录号'显示单记录(逐个将字段名和字段值赋给变量Date 。然后通过 Recordset 变量的 Write 方法向用户端输出。for j=0 to objRS.Fields.Count-1Data="trtd" & objRS.Fields(j).nameData=Data & "td" & objRS.Fields(j).Value & "/tr"Response.Write dataNextEnd Sub'创建一个连接数据库对象。set conn=server.createobject("adodb.Connection")'通过连接字符串指定了要连接的数据库所使用的提供程序是 Microsoft.Jet.OLEDB.4.o;所连接的数据库名为 rsgl.mdb。CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")'打开数据库。conn.Open'创建一个记录集。set rs=server.createobject("adodb.recordset")'打开教师工资表。rs.open"教师工资表",conn,1,2,2'如果是新打开网页,则第一条记录编号赋给变量 Session("no"),也就是说打开网页时显示的总是第一条记录。if Request("no")="" thenSession("no")=1'否则当前记录号由 Request 对象来获取。elseSelect case Request("no")case "First"Session("no")=1case "Previous"Session("no")=Session("no")-1case "next"Session("no")=Session("no")+1case "last"Session("no")=RS.RecordCountend selectend if'当 Session("no") 的值大于记录数时,则 Session("no") 等于记录数。if Session("no")RS.RecordCount then Session("no")=RS.RecordCount'当 Session("no") 的值小于1时,则 Session("no")值等于1.if Session("no")1 then Session("no")=1Response.write"table border=1 align=center cellspacing=0 cellpadding=4 height=270 bgcolor='#9ccdcd'"Response.write"trtd width=100td width=195"'调用 ShowPage Rs,Session("no") 过程。ShowPage RS,Session("no")Response.write"/table"RS.closeset RS=nothingconn.closeset conn=nothing%/body/html

  六、小结:

  1、采用 server 对象的 createobject 方法创建一个连接对象和一个记录集对象;

  2、采用连接(Connection) 对象的 Open (打开)和 Close (关闭)两个方法打开和关闭一个数据库;

  3、采用记录集(Recordset) 对象中的 Open 和 Close 两个方法打开和关闭记录集;

  4、通过 Recordset 对象的 AbsolutePosition 属性来确定记录集中当前记录的顺序位置是第几行记录;

  5、通过 Request 对象从菜单页面由导航条提交的查询字符串中获取当前记录的书签;

  6、通过 Session 对象保存会话期中当前记录号。

  修改记录

  一、修改记录页面的功能:修改记录。

  二、修改记录页面的实现过程:

  1、连接数据库并打开老师工资表;

  2、用修改的记录更改数据库中原有的记录;

  3、将更改后的记录从数据库中取出反馈给浏览器;

  4、自动计算实发工资。即当名为 txt 的各文本框中某一个文本框的值被改变时,实发工资文本框中的值将随之改变。

  5、关闭记录集和数据库。

  三、修改记录页面的代码如下:

htmlheadtitle教师工资表/title/headbody bgcolor="#cccc99"!-- 创建一个表单 --form align=center method='post' name=frm1 action='list2.asp'table border=1 align=center cellspacing=0 cellpadding=2 height=200 bgcolor="#909011"trtd width=100td width=195%'创建一个 ShowPage 过程,其带有三个参数objRS、on、a,分别表示记录集对象,当前的记录号,修改了的字段值。'此过程的功能是修改后的字段值写入数据库,并通过 Response 对象的 Write 方法将其在浏览器中显示出来。Sub ShowPage(objRS,no,a)objRS.AbsolutePosition=no '指定当前记录号'如果修改了的字段值长度不为 0 .if len(a)0 thenfor j=1 to objRS.Fields.Count'则用修改的记录更改数据库中原有的记录。objRS.Fields(j-1).value=a(j)next'更新记录。objRS.Updateend if'将更改后的记录从数据库中取出反馈给浏览器。for j=1 to objRS.Fields.CountData="trtd" & objRS.Fields(j-1).nameData=Data & "tdinput type=text name='txt' value=" & objRS.Fields(j-1).Value & "/tr"Response.Write datanextend Subset conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")'以键盘光标,乐观锁定,方式打开记录集,而且对 Recordset 对象进行批量更新后,查询当前记录的状态是记录被删除。rs.open"教师工资表",conn,1,2,2if Session("no")="" then'如果网页刚打开,则给 Session("no")赋值1。Session("no")=1end ifShowPage RS,Session("no"),Request.form("txt") '调用 ShowPage 过程,以表单提交的Txt中内容修改当前记录Response.write"/table"RS.closeconn.close%table border=0 align=center height=40trtdinput type=submit value="确定修改"/table!--自动计算实发工资。即当名为 txt 的各文本框中某一个文本框的值被改变时,实发工资文本框中的值将随之改变。--script for=txt event=onchange language=vbscriptw=ccur(frm1.txt(3).value)+frm1.txt(4).value+frm1.txt(5).value+frm1.txt(6).valuew=w-frm1.txt(7).value-frm1.txt(8).valuefrm1.txt(9).value=w/script/form/body/html

  六、小结:

  1、采用 server 对象的 createobject 方法创建一个连接对象和一个记录集对象;

  2、采用连接(Connection) 对象的 Open (打开)和 Close (关闭)两个方法打开和关闭一个数据库;

  3、采用记录集(Recordset) 对象中的 Open 和 Close 两个方法打开和关闭记录集;

  4、通过 Recordset 对象的 Update 属性更新记录;

  5、通过 Session 对象保存会话期中当前记录号;

  6、通过把 text3 到 text8 六个文本框之值的代数和赋给 text9文本框,自动输出实发工资的数;

  7、ccur 函数:强制进行货币计算。

  添加记录

  一、添加记录页面的功能:添加新增员工的工资信息:

  二、添加记录页面的实现过程:

  1、创建一个表单。用于输入记录中各字段的字段值;

  2、通过列表框中的选中项,将其赋给 txt1 文本框,作为员工编号的头部,并使 txt1 文本框获得焦点;

  3、当 txt1 文本框失去焦点时,判断此文本框值的长度是否小于5,若是,则弹出一个信息框:编号太短,否则将焦点转交给txt2文本框。

  4、连接数据库并打开老师工资表;

  5、判断员工姓名是否输入了,若是,则从记录集中将各字段名读取后赋给数组 an ,并从表单中读取各对象的值赋给数组 bb ;否则,弹出一个信息框:姓名不能为空;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  6、通过 Recordset 对象的 AddNew 方法将 aa 和 bb 两数组中的值添加到记录集;

  7、通过 Recordset 对象的 Update 方法更新记录集;

  8、关闭记录集和数据库。

  三、修改记录页面的代码如下:

htmlheadtitle教师工资表/titlemeta http-equiv="Content-Type" content="text/html; charset=gb2312"/headbody bgcolor="#cccc99" Language=VBScript!--创建一个表单。用于输入记录中各字段的字段值。--form method='post' name=frm1 action='list3.asp'table border=1 align=center cellspcing=1 cellpadding=4 height=200 bgcolor="#909011"trtd width=100td width=195trtd所在部门tdselect id=select1 style="width:100px" name=select1option value="01"教务处option value="02"英语教研室option value="03"语文教研室option value="04"数学教研室option value="05"财务处/selectinput type=hidden name=hid value='教务处'trtd员工编号tdinput type=text name=txt1 value=""trtd员工姓名tdinput type=text name=txt2 value=""trtd基本工资tdinput type=text name=txt value=""trtd岗位工资tdinput type=text name=txt value=""trtd职务工资tdinput type=text name=txt value=""trtd年动工资tdinput type=text name=txt value=""trtd养老保险tdinput type=text name=txt value=""trtd医疗保险tdinput type=text name=txt value=""trtd实发工资tdinput type=text name=txt value=""/table!--当名为select1的列表框失去焦点时,则执行script/script标签之内的语句。--script for=select1 event=onblur Language=vbscripti=frm1.select1.selectedindex          '将在列表框中选中项的索引号赋给变量i。f=frm1.select1.options(i).text         '将在列表框中选中项的文本值赋给变量f。k=frm1.select1.options(i).value        '将在列表框中选中项的值赋给变量k。frm1.hid.value=f                  '将在列表框中选中项的文本值赋给隐藏框的值。frm1.txt1.value=k                 '将在列表框中选中项的值赋给文本框1的值。frm1.txt1.focus                   '文本框1获得的焦点。/script!--当 txt1 文本框失去焦点时,则判断此文本框值的长度是否小于5,若是,则弹出一个信息框:编号太短,否则将焦点交给txt2文本框。--script for=txt1 event=onblur language=vbscriptif len(frm1.txt1.value)5 thenmsgbox"编号太短"frm1.txt1.focuselsefrm1.txt2.focusend if/script%set conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open"教师工资表",conn,1,2,2p=Request.form("txt2")'如果姓名不为空,则读取各字段的名称添加到数组 na 中。if len(p)0 thenredim na(rs.Fields.count-1)for j=0 to RS.Fields.count-1na(j)=RS.Fields(j).namenextredim bb(rs.Fields.count-1)bb(0)=Request.form("hid")bb(1)=Request.form("txt1")bb(2)=Request.form("txt2")for j=3 to RS.Fields.Count-1bb(j)=Request.form("txt")(j-2)next'添加一条新记录。RS.AddNew na,bb'更新一条记录。RS.Updateend ifResponse.write"/table"RS.closeconn.close%table border=0 align=center height=40trtdinput type=submit value="确定增加"/table/form!--当名为 txt 的各文本框中某一个文本框的值被改变时,实发工资文本框中的值将随之改变。--script for=txt event=onchange language=vbscriptw=ccur(frm1.txt(0).value)+ccur(frm1.txt(1).value)+ccur(frm1.txt(2).value)+ccur(frm1.txt(3).value)w=w-ccur(frm1.txt(4).value)-ccur(frm1.txt(5).value)frm1.txt(6).value=w/script  !--如果当名为 txt 的各文本框中某一个文本框失去焦点时,则判断姓名是否为空,如为空则弹出一个信息框,并将焦点返回给它自身。--script for=txt event=onblur language=vbscriptif len(frm1.txt2.value)=0 thenmsgbox"姓名不能空"frm1.txt2.focusend if/script/body/html

  六、小结:

  1、由表单提交添加的记录;

  2、采用 server 对象的 createobject 方法创建一个连接对象和一个记录集对象;

  3、采用连接(Connection) 对象的 Open (打开)和 Close (关闭)两个方法打开和关闭一个数据库;

  4、采用记录集(Recordset) 对象中的 Open 和 Close 两个方法打开和关闭记录集;

  5、通过 For 循环语句将记录集中各字段名赋给数组 na ,并将表单中提交的各项值赋给数组 bb ;

  6、通过 Recordset 对象的 AddNew 方法将数组na 和bb 的值添加到记录集中;

  7、通过 Recordset 对象的 Update 方法更新记录;

  8、通过把 text0 到 text5 六个文本框之值的代数和赋给 text6文本框,自动输出实发工资的数值;

  9、ccur 函数:强制进行货币计算;

  10、采用信息框函数(MsgBox)弹出一个输出信息框,用于提示客户什么地方输入不正确。

  删除记录

  一、删除记录页面的功能:删除离职员工的工资记录:

  二、删除记录页面的实现过程:

  1、连接数据库并打开老师工资表;

  2、判断确定按钮是否按下,若是,则删除当前记录;

  3、更新记录集;

  4、判断被删除的记录在删除前的指针位置是不是1,若是,则删除后,指针位置仍然回到1;

  5、判断被删除的记录在删除前的指针位置是不是在最后,若是,则删除后,指针位置仍然回到最后;

   6、关闭记录集和数据库。

  三、删除记录页面的代码如下:

htmlheadtitle教师工资表/title/headbody bgcolor="#cccc99"!-- 创建一个表单。--form method='post' action='list4.asp?YesNo=yes'table border=1 align=center cellspacing=0 cellpadding=4 bgcolor="#9ccdcd"trtd width=100td width=195%'定义一个过程。sub ShowPage(objRS,no)'显示当前记录号。objRS.AbsolutePosition=no'显示单条记录for j=0 to objRS.Fields.Count-1'将索引号为 j 字段的字段名赋给变量 Data。Data="tr height='5'td"& objRS.Fields(j).name'将索引号为 j 字段的字段名和字段值赋给变量 Data。Data=Data & "td" & objRS.Fields(j).Value'向浏览器输出此字段名和字段值。Response.write dataNextend sub'打开一个数据库和记录集。set conn=server.createobject("adodb.Connection")CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")conn.Openset rs=server.createobject("adodb.recordset")rs.open"教师工资表",conn,1,2,2if Request("YesNo")="yes" thenn=Session("no")RS.AbsolutePosition=nrs.deleters.updateend if'当删除的是第1条记录时,则将指针移到删除并更新后的第1条记录,即删除前的第2条记录上。if Session("no")="" then Session("no")=1'当删除是最后一条记录,则将指针移到删除并更新后的最后一条记录上,即删除前的倒数第2条记录。if Session("no")RS.RecordCount then Session("no")=RS.RecordCountShowPage RS,Session("no")Response.write"/table"RS.closeset RS=nothingconn.closeset conn=nothing%table border=0 align=center height=30trtdinput type=submit value="确定删除"/table/form/body/html

  六、小结:

  1、通过 For 循环语句,将记录集中各字段名和值赋给变量a ;

  2、通过 Request 对象,将变量 a 中的值返回给浏览器;

  3、采用 server 对象的 createobject 方法创建一个连接对象和一个记录集对象;

  4、采用连接(Connection) 对象的 Open (打开)和 Close (关闭)两个方法打开和关闭一个数据库;

  5、采用记录集(Recordset) 对象中的 Open 和 Close 两个方法打开和关闭记录集;

  6、通过 Request("YesNo")="yes" 语句判断是否确定要删除记录,若是,则删除;

  7、通过 Recordset 对象的 UpDate 方法更新记录集;

  8、通过Session("no")的值判断删除的是不是第1条记录,若是,则将指针移到删除并更新后的第1条记录,即删除前的第2条记录上;

  9、通过Session("no")的值判断删除的是不是最后一条记录,若是,则将指针移到删除并更新后的最后一条记录上,即删除前的倒数第2条记录上;

  10、通过 set RS=nothing 和 set Conn=nothing 语句分别将记录集和数据库清空。;

  查看全套"ASP入门基础"教程

来源:https://www.tulaoshi.com/n/20160219/1611790.html

延伸阅读
标签: Web开发
Coonamd 对象定义了将对数据源执行的命令,可以用于查询数据库表并返回一个记录集,也可以用于对数据库表进行添加、更改和删除操作。 一、使用Command 对象的步骤: 当在 ASP 页面中使用 Command 对象处理数据时,应首先设置命令类型、命令文本以及相关的活动数据库连接等,并通过 Parameter 对象传递命令参数,然后通过调用 Exe...
标签: Web开发
1、VBScript简介 VBScript是一种脚本语言,也是ASP的默认语言,可以在HTML文件中直接嵌入VBScript脚本,从而扩展HTML,使它不仅仅是一种页面格式语言。带有VBScript脚本的网页可以对用户的操作作出反应。 2、HTML页面中添加VBScript代码 VBSript脚本作为HTML文档的一部分页存在。也就是说,这些代码必须放在HTML文档中才能...
标签: Web开发
当使用表单的Get 方式提交数据时,表单中的数据被保存在 Request 对象的 Querystring 集合中。除了读取表单对象传递的参数外,Querystring 集合还可以通过读取 HTTP 查询字符串中的参数值来传递参数。使用 Querystring 集合来传递数据的语法格式如下: Request.Querstring (变量名) [(索引值)|.变量的个数] 注解: 变量为在 HTTP 查...
标签: Web开发
一、Session对象概述 Session对象其实指的就是用户从到达某个站点直到离开为止的那段时间内,服务器端分配给用户的一个存储信息的全局变量的集合,这些变量可以是自动生成的,也可以是编程者在服务器端脚本定义的。 当用户在应用程序的 Web 页面之间跳转时,存储在Session 对象中的变量将不会丢失,而且在整个用户会话中会一直在...
标签: Web开发
一、Application对象概述 当载入ASP DLL并响应对一个ASP网页的第一个请求时,创建Application对象。该对象提供一个存储场所,用来存储对于所有访问者打开的所有网页都可用的变量和对象 可以使用 Application 对象在给定的应用程序的所有用户之间共享信息。基于 ASP 的应用程序同所有的 .asp 文件一样在一个虚拟目录及其子目录中...

经验教程

174

收藏

7
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部