侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

ASP基础知识Command对象讲解

php  /  管理员 发布于 8年前   175

Coonamd 对象定义了将对数据源执行的命令,可以用于查询数据库表并返回一个记录集,也可以用于对数据库表进行添加、更改和删除操作。
一、使用Command 对象的步骤:
当在 ASP 页面中使用 Command 对象处理数据时,应首先设置命令类型、命令文本以及相关的活动数据库连接等,并通过 Parameter 对象传递命令参数,然后通过调用 Execute 方法来执行 SQL 语句或调用存储过程,以完成数据库记录的检索、添加、更改和删除任务。其步骤如下:
1、使用 ActiveCommand 属性设置相关的数据库连接;
2、使用 CommandType 属性设置命令类型;
3、使用 CommandText 属性定义命令(例如SQL语句)的可执行文本;
4、使用 CommandTimeout 属性设置命令超时时间;
5、使用 Execute 方法执行命令。
二、Command 对象的属性:

三、Command 对象的方法----Execute
该方法执行在 CommandText 属性中指定的查询。语法格式分为以下两种形式。
1、对于按行返回的 Command :
Set recordset=command.Execute(RecordsAffected,Parameters,Options)
2、对于不按行返回的 Command :
command.Execute RecordsAffected,Parameters,Options
  其中参数 RecordsAffected 为提供程序返回操作所影响的记录数录。Rarameters 为使用 SQL 语句传送的参数值。Options 指示提供程序如何对 Command 对象的 CommandText 属性赋值。
四、使用 Parameters 集合
Command 对象具有由 Parameter 对象组成的 Parameters 集合,Parameter 对象代表与基于参数化查询或存储过程的 Command 对象相关联的参数或自变量。通过创建 Parameter 对象并添加到 Parameter 集合中,可以向参数化查询传递所需要的数据。使用 Parameter 集合的步骤如表下:
使用Parameter 集合的步骤

五、Command 对象的应用实例
1、这是一个简单的员工基本情况管理系统,其功能有:1)、添加员工资料;2)、更改员工资料;3)、删除员工资料,检索员工资料。它包含着七个页面和一个数据库。分别为:
1)、主页面:index.asp
2)、添加数据页面:add.htm
3)、保存添加数据页面:add.asp
4)、更改数据页面:Update.asp
5)、保存更改数据页面:Update1.asp
6)、删除记录页面:Detele.asp
7)、检索员工资料页面:shousho.asp
8)、数据库:RSGL.mdb.用到该数据库中的”员工基本情况表“。
2、各页面的代码如下:
1)、主页面:index.asp。该页面的功能有:
a)、创建两个对象,Connectiion对象和Recordset对象,其目的是连接数据库和返回一个记录集;
b)、创建一个表格,使do while循环语句将各条记录在表格中显示出来;
c)、创建三个超连接,一个用以连接添加数据页面,另一个通过指定的员工姓名连接到更改数据页面,还有一个通过指定的员工姓名连接到删除页面。

<% @ Language="VBScript" %>员工基本情况管理系统<%'****************创建两个对象(连接对象、记录集对象)*********************dim cnn,rstset 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.OpensSQL="select * from 员工基本情况表"'rst.Open sSQL,cnn,1,1set rst=cnn.Execute(sSQL,,adCmdText)%><%'使用do while循环语句将各条记录显示出来。do while Not rst.eoft1=rst("员工姓名")t2=rst("所在部门")t3=rst("家庭住址")t4=rst("家庭电话")t5=rst("Email")tt=""response.write ttrst.MoveNextloopcnn.CloseSet cnn=Nothing%>

教职员工基本信息表

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

2)、添加数据页面:add.htm 。

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

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

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

该页面的功能有:

a)、使用Request对象获取从add.htm页面提交的值;

b)、创建三个对象(连接对象、记录集对象和指令对象)和五个参数,通过调用参数执行INSERT插入命令。

<% @ Language="VBScript" %>添加记录<%'****************创建三个对象(连接对象、记录集对象和指令对象)和五个参数*********************dim cnn,rst,cmdset 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=adCmdTextcmd.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 prmNamecmd.Parameters.Append prmDepartmentCmd.Parameters.Append prmAddrCmd.Parameters.Append prmTelCmd.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.OpensSQL="select * from 员工基本情况表 where 员工姓名='" & a & "'"'rst.Open sSQL,cnn,1,1set rst=cnn.Execute(sSQL,,adCmdText)%>更改记录
员工基本情况表
员工姓名: readonly>
所在部门:>
家庭住址:>
家庭电话:>
Email:>

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

该页面的功能有:

a)、使用Request对象获取从Update.asp页面提交的值;

b)、创建二个对象(连接对象、记录集对象);

c)、通过表格显示更改后的记录。

<% @ Language="VBScript" %><%'*****************从提交表单中提取数值***************************Dim Name,Department,Addr,Tel,EmailName=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,cmdset 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.OpensSQL="update 员工基本情况表 set 所在部门='" & Department & "',家庭住址='" & Addr & "',家庭电话='" & Tel & "',Email='" & Email & "' where 员工姓名='" & name & "'"rst.Open sSQL,cnn,1,2set rst=nothing%>
员工基本情况表
员工姓名:<%=Name %>
所在部门:<%=Department %>
家庭住址:<%=Addr %>
家庭电话:<%=Tel %>
Email:<%=Email %>


记录更改成功!

返回首页


6)、删除数据页面:Detele.asp。

a)、使用Request对象获取要删除的员工姓名;

b)、创建三个对象(连接对象、记录集对象和指令对象)和一个参数,通过参数指定的值删除记录;

c)、给出删除成功提示框。

更改记录<%'****************创建三个对象(连接对象、记录集对象和指令对象)和一个参数*********************dim cnn,rst,cmdset 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=adCmdTextcmd.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,iset 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" thencmd.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.MoveNextwend%>
<%=rst(i).Name %>
 <% =rst(i) %>
<% end if %>

以上就是关于ASP基础知识Command对象的入门教程,希望对大家的学习有所帮助,多多交流探讨。

您可能感兴趣的文章:

  • ASP.net基础知识之常见错误分析
  • ASP.NET 2.0 程序安全的基础知识
  • 服务器XMLHTTP(Server XMLHTTP in ASP)基础知识
  • ASP.NET母版页基础知识介绍
  • ASP基础知识VBScript基本元素讲解
  • ASP基础入门第二篇(ASP基础知识)
  • ASP新手必备的基础知识


  • 上一条:
    WIFI万能钥匙密码查询接口实例
    下一条:
    Discuz!X中SESSION机制实例详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客