中华考试网·阅读新闻
编程开发 > ASP > 文章内容

ASP入门基础教程:Command对象的应用实例

2015-10-14编辑:ljnbset

Command 对象的应用实例

   1、这是一个简单的员工基本情况管理系统,其功能有:1)、添加员工资料;2)、更改员工资料;3)、删除员工资料,检索员工资料。它包含着七个页面和一个数据库。分别为:

   1)、主页面:

   2)、添加数据页面:

   3)、保存添加数据页面:add.asp

   4)、更改数据页面:Update.asp

   5)、保存更改数据页面:Update1.asp

   6)、删除记录页面:Detele.asp

   7)、检索员工资料页面:shousho.asp

   8)、数据库:RSGL.mdb.用到该数据库中的”员工基本情况表“。

   2、各页面的代码如下:

   1)、主页面:。该页面的功能有:

  a、创建两个对象,Connectiion对象和Recordset对象,其目的是连接数据库和返回一个记录集;

  b、创建一个表格,使do while循环语句将各条记录在表格中显示出来;

  c、创建三个超连接,一个用以连接添加数据页面,另一个通过指定的员工姓名连接到更改数据页面,还有一个通过指定的员工姓名连接到删除页面。

<% @ Language="VBScript" %>



<%
'****************创建两个对象(连接对象、记录集对象)*********************
dim cnn,rst
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
'指定连接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="select * from 员工基本情况表"
'rst.Open sSQL,cnn,1,1
set rst=cnn.Execute(sSQL,,adCmdText)
%>






<%
'使用do while循环语句将各条记录显示出来。
do while Not rst.eof
t1=rst("员工姓名")
t2=rst("所在部门")
t3=rst("家庭住址")
t4=rst("家庭电话")
t5=rst("Email")
tt=""
response.write tt
rst.MoveNext
loop
cnn.Close
Set cnn=Nothing
%>

教职员工基本信息表

查询记录||添加记录
员工姓名 所在部门 家庭住址 家庭电话 Email 状态
" & t1 & "" &t2& "" &t3& "" &t4& "" &t5& ""
tt=tt & "修改||删除


   

  2)、添加数据页面: 。本页面由一个表单组成,其功能是向保存添加数据页面(add.asp)提交数据。

  
添加记录

















员工基本情况表
员工姓名:
所在部门:
家庭住址:
家庭电话:
Email:




  3)、保存添加数据页面:add.asp。该页面的功能有:a)、使用Request对象获取从页面提交的值;b)、创建三个对象(连接对象、记录集对象和指令对象)和五个参数,通过调用参数执行INSERT插入命令。

<% @ Language="VBScript" %>


添加记录



<%
'****************创建三个对象(连接对象、记录集对象和指令对象)和五个参数*********************
dim cnn,rst,cmd
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
set cmd=Server.CreateObject("ADODB.Command")
'指定连接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
'设置ActiveConnection属性,使Command对象与打开的连接相关联
set cmd.ActiveConnection=cnn
'指定传送给数据提供者的命令文本是一条SQL语言。
cmd.CommandType=adCmdText
cmd.CommandText="INSERT INTO 员工基本情况表(员工姓名,所在部门,家庭住址,家庭电话,Email) values(?,?,?,?,?)"
'创建五个Parameter对象
set PrmName=cmd.CreateParameter("员工姓名",adVarChar,adParamInput,10)
set PrmDepartment=cmd.CreateParameter("所在部门",adVarChar,adParamInput,10)
set PrmAddr=cmd.CreateParameter("家庭住址",adVarChar,adParamInput,12)
set PrmTel=cmd.CreateParameter("家庭电话",adVarChar,adParamInput,15)
set PrmEmail=cmd.CreateParameter("Email",adVarChar,adParamInput,20)
'将parameter对象添加到Parameters集合中。
cmd.Parameters.Append prmName
cmd.Parameters.Append prmDepartment
Cmd.Parameters.Append prmAddr
Cmd.Parameters.Append prmTel
Cmd.Parameters.Append prmEmail
'使用表单值设置参数值
PrmName.Value=Request.Form("txtName")
PrmDepartment.Value=Request.Form("txtDepartment")
PrmAddr.Value=Request.Form("txtAddr")
PrmTel.Value=Request.Form("txtTel")
PrmEmail.Value=Request.Form("txtEmail")
'执行INSERT插入命令
cmd.Execute
%>













员工基本情况表
员工姓名:<%=prmName.Value %>
所在部门:<%=prmDepartment.Value %>
家庭住址:<%=prmAddr.Value %>
家庭电话:<%=prmTel.Value %>
Email:<%=prmEmail.Value %>




 

记录添加成功!


返回记录添加表单||返回主页



  4)、更改数据页面:Update.asp。该页面的功能有:a、创建两个对象,Connectiion对象和Recordset对象,其目的是连接数据库和返回一个记录集;b、创建一个表单,其目的是提交更改过的数据。

cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="select * from 员工基本情况表 where 员工姓名='" & a & "'"
'rst.Open sSQL,cnn,1,1
set rst=cnn.Execute(sSQL,,adCmdText)
%>

更改记录


















员工基本情况表
员工姓名: readonly>
所在部门:>
家庭住址:>
家庭电话:>
Email:>




  5)、保存更改数据页面:Update2.asp。 该页面的功能有:a)、使用Request对象获取从Update.asp页面提交的值;b)、创建二个对象(连接对象、记录集对象);c)、通过表格显示更改后的记录。

<% @ Language="VBScript" %>
<%
'*****************从提交表单中提取数值***************************
Dim Name,Department,Addr,Tel,Email
Name=Trim(Request.Form("txtName"))
Department=Trim(Request.Form("txtDepartment"))
Addr=Trim(Request.Form("txtAddr"))
Tel=Trim(Request.Form("txtTel"))
Email=Trim(Request.Form("txtEmail"))
%>


更改记录



<%
'****************创建二个对象(连接对象、记录集对象)*********************
dim cnn,rst,cmd
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
'指定连接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="update 员工基本情况表 set 所在部门='" & Department & "',家庭住址='" & Addr & "',家庭电话='" & Tel & "',Email='" & Email & "' where 员工姓名='" & name & "'"
rst.Open sSQL,cnn,1,2
set rst=nothing
%>













员工基本情况表
员工姓名:<%=Name %>
所在部门:<%=Department %>
家庭住址:<%=Addr %>
家庭电话:<%=Tel %>
Email:<%=Email %>




记录更改成功!


返回首页



  6)、删除数据页面:Detele.asp。 a)、使用Request对象获取要删除的员工姓名;b)、创建三个对象(连接对象、记录集对象和指令对象)和一个参数,通过参数指定的值删除记录;c)、给出删除成功提示框。

更改记录



<%
'****************创建三个对象(连接对象、记录集对象和指令对象)和一个参数*********************
dim cnn,rst,cmd
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
set cmd=Server.CreateObject("ADODB.Command")
'指定连接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
'设置ActiveConnection属性,使Command对象与打开的连接相关联
set cmd.ActiveConnection=cnn
'指定传送给数据提供者的命令文本是一条SQL语言。
cmd.CommandType=adCmdText
cmd.CommandText="Delete from 员工基本情况表 where 员工姓名=? "
'创建一个Parameter对象
set PrmName=cmd.CreateParameter("员工姓名",adVarChar,adParamInput,10)
'将parameter对象添加到Parameters集合中。
cmd.Parameters.Append prmName
'使用表单值设置参数值
PrmName.Value=Name
'执行Delete删除命令
cmd.Execute
%>
 




记录删除成功!


返回主页



  7)、检索员工资料页面 :shousho.asp。a)、使用一个列表框用以提交检索的条件;b)、创建三个对象(连接对象、记录集对象和指令对象)和一个参数,使用 Parameter 对象的 Value 属性将表单提交的值赋给参数;c)、使用for 循环语句将检索出的记录集中的每一条记录都通过表格显示出来。

<% @ Language="VBScript" %>


使用参数化检索记录



查询各部门员工的基本情况


选择部门:

||返回主页


<%
'****************创建三个对象(连接对象、记录集对象和指令对象)和一个参数*********************
dim cnn,rst,cmd,i
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
set cmd=Server.CreateObject("ADODB.Command")
'指定连接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
'创建一个Parameter对象
set PrmDepartment=cmd.CreateParameter("所在部门",adVarChar,adParamInput,10)
'将Parameter对象添加到Prmameters集合中
cmd.Parameters.Append prmDepartment
'将用户提交的所在部门名称作为parameter对象的值
prmDepartment.Value=Request.Form("department")
'指定传送给数据提供者的命令文本是一条SQL语言。
cmd.CommandType=adCmdText
'设置ActiveConnection属性,使Command对象与打开的连接相关联
set cmd.ActiveConnection=cnn
'******如果没有提交所在部门名称,或选择所有部门,则显示所有记录,否则按参数进行查询。****************
if PrmDepartment.Value="" or Request.Form("department")="all" then
cmd.CommandText="select * from 员工基本情况表"
Else
'便用参数化查询语句作为命令文本
cmd.CommandText="select * from 员工基本情况表 where 所在部门=?"
end if
'向服务器发送SQL语句并返回一个记录集
Set rst=cmd.Execute
'-----------如果记录集不存在,则显示一条提示信息,否则,列出符合条件的记录。----------
if rst.EOF then
%>

没有找到符合条件的记录!


<% else %>



<% for i=0 to rst.Fields.Count-1 %>

<% next %>

<% while not rst.eof %>

<%
'用for循环语句列出某条记录的各字段的值。
for i=0 to rst.Fields.Count-1
'如果字段值为空,则显示一个空格
if IsNull(rst(i)) then
%>

<% else %>

<% end if %>
<% next %>

<%
rst.MoveNext
wend
%>
<%=rst(i).Name %>
 <% =rst(i) %>

<% end if %>


ASP入门基础教程:实例网上图书管理系统
咨询热线:4000-525-585(免长途费)