> 백엔드 개발 > PHP 튜토리얼 > ASP 기초 지식 Command 객체 설명_php 기초

ASP 기초 지식 Command 객체 설명_php 기초

WBOY
풀어 주다: 2016-05-16 20:07:23
원래의
1074명이 탐색했습니다.

Coonamd 개체는 데이터 소스에서 실행될 명령을 정의합니다. 이는 데이터베이스 테이블을 쿼리하고 레코드 세트를 반환하는 데 사용할 수 있으며 데이터베이스 테이블을 추가, 변경 및 삭제하는 데에도 사용할 수 있습니다.
1. 명령 개체 사용 단계:
Command 개체를 사용하여 ASP 페이지의 데이터를 처리하는 경우 먼저 명령 유형, 명령 텍스트 및 관련 활성 데이터베이스 연결 등을 설정하고 Parameter 개체를 통해 명령 매개 변수를 전달한 후 다음을 실행해야 합니다. SQL 문 또는 Execute 메서드 저장 프로시저를 호출하여 데이터베이스 레코드 검색, 추가, 변경 및 삭제 작업을 완료합니다. 단계는 다음과 같습니다.
1. ActiveCommand 속성을 사용하여 관련 데이터베이스 연결을 설정합니다.
2. CommandType 속성을 사용하여 명령 유형을 설정합니다.
3. CommandText 속성을 사용하여 명령(예: SQL 문)의 실행 가능한 텍스트를 정의합니다.
4. CommandTimeout 속성을 사용하여 명령 시간 초과를 설정합니다.
5. Execute 메서드를 사용하여 명령을 실행합니다.
2. 명령 개체의 속성:

3. 명령 개체의 방법——실행
이 메서드는 CommandText 속성에 지정된 쿼리를 실행합니다. 구문 형식은 다음 두 가지 형태로 구분됩니다.
1. 행별로 반환된 명령의 경우:
레코드 세트=command.Execute(RecordsAffected,Parameters,Options)
설정 2. 줄 단위로 반환되지 않는 명령의 경우:
명령.영향을 받는 레코드 실행,매개 변수,옵션
RecordsAffected 매개변수는 공급자 반환 작업의 영향을 받는 레코드 수입니다. Rarameters는 SQL 문을 사용하여 전달되는 매개변수 값입니다. 옵션은 Command 개체의 CommandText 속성에 값을 할당하는 방법을 공급자에게 지시합니다.
4. 매개변수 컬렉션 사용
Command 개체에는 매개 변수가 있는 쿼리 또는 저장 프로시저를 기반으로 Command 개체와 연결된 매개 변수 또는 인수를 나타내는 Parameter 개체로 구성된 매개 변수 컬렉션이 있습니다. Parameter 개체를 만들고 이를 Parameter 컬렉션에 추가하여 필요한 데이터를 매개 변수화된 쿼리에 전달할 수 있습니다. Parameter 컬렉션을 사용하는 단계는 다음과 같습니다.
매개변수 수집 사용 단계

5. Command 객체 활용 예시
1. 간단한 직원 기본 상황 관리 시스템입니다. 1) 직원 정보 추가, 2) 직원 정보 삭제, 직원 정보 검색. 여기에는 7개의 페이지와 데이터베이스가 포함되어 있습니다. 그들은:
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) 데이터베이스에 연결하고 레코드 세트를 반환하는 것이 목적인 Connection 개체와 Recordset 개체라는 두 개의 개체를 만듭니다.
b) 테이블을 만들고 do while 루프 문을 사용하여 테이블의 각 레코드를 표시합니다.
c) 데이터 추가 페이지에 연결되는 하이퍼링크, 지정된 직원 이름을 통해 데이터 변경 페이지에 연결되는 하이퍼링크, 지정된 직원 이름을 통해 삭제 페이지에 연결되는 하이퍼링크를 생성합니다.

<% @ Language="VBScript" %>
<html>
<head><title>员工基本情况管理系统</title></head>
<body background="../../../images/bj1.jpg">
<%
'****************创建两个对象(连接对象、记录集对象)*********************
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)
%>
<!--************创建一个表格,用以显示数据库中的各条记录***********-->
<table align="center" border="1">
<caption><h3>教职员工基本信息表</h3></caption>
<tr colspan="5"><td><a href="shousho.asp">查询记录</a>||<a href="add.htm">添加记录</a></td></tr>
<!--显示各字段名-->
<tr><td align="center">员工姓名</td><td align="center">所在部门</td><td align="center">家庭住址</td><td align="center">家庭电话</td><td align="center">Email</td><td align="center">状态</td>
<%
'使用do while循环语句将各条记录显示出来。
do while Not rst.eof
t1=rst("员工姓名")
t2=rst("所在部门")
t3=rst("家庭住址")
t4=rst("家庭电话")
t5=rst("Email")
tt="<tr align='center'><td>" & t1 & "</td><td>" &t2& "</td><td>" &t3& "</td><td>" &t4& "</td><td>" &t5& "</td><td>"
tt=tt & "<a href=Update.asp&#63;id=" & t1 & ">修改</a><a href=Delete.asp&#63;id=" & t1 & ">||删除</a></td></tr>"
response.write tt
rst.MoveNext
loop
cnn.Close
Set cnn=Nothing
%>
</table>
</body>
</html>
로그인 후 복사

2) 데이터 추가 페이지: add.htm.

이 페이지는 데이터 저장 및 추가 페이지(add.asp)에 데이터를 제출하는 기능을 가진 폼으로 구성되어 있습니다.

<html>
<head><title>添加记录</title></head>
<body background="../../../images/bj1.jpg">
<div align="center">
<form name="form1" method="post" action="add.asp">
<table align="center" border="1">
<tr><td colspan="2" align="center">员工基本情况表</td></tr>
<tr><td align="right">员工姓名:</td>
<td><input type="text" name="txtName"></td></tr>
<tr><td align="right">所在部门:</td>
<td><input type="text" name="txtDepartment"></td></tr>
<tr><td align="right">家庭住址:</td>
<td><input type="text" name="txtAddr"></td></tr>
<tr><td align="right">家庭电话:</td>
<td><input type="text" name="txtTel"></td></tr>
<tr><td align="right">Email:</td>
<td><input type="text" name="txtemail"></td></tr>
<tr><td align="center"><input type="submit" value="提交"></td>
<td align="center"><input type="reset" value="全部重写"></td></tr>
</table>
</form>
</div>
</body>
</html>
로그인 후 복사

3) 데이터 추가 페이지를 저장합니다: add.asp.

이 페이지의 기능은 다음과 같습니다.

a) Request 개체를 사용하여 add.htm 페이지에서 제출된 값을 가져옵니다.

b) 3개의 객체(연결 객체, 레코드세트 객체, 명령어 객체)와 5개의 매개변수를 생성하고 매개변수를 호출하여 INSERT 삽입 명령을 실행합니다.

<% @ Language="VBScript" %>
<html>
<head>
<title>添加记录</title>
</head>
<body background="../../../images/bj1.jpg">
<!-- #include virtual ="/adovbs.inc" -->
<%
'****************创建三个对象(连接对象、记录集对象和指令对象)和五个参数*********************
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(&#63;,&#63;,&#63;,&#63;,&#63;)"
'创建五个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
%>
<!--用表格显示记录。-->
<table align="center" border="1">
<tr><td colspan="2" align="center">员工基本情况表</td></tr>
<tr><td align="right" width="130">员工姓名:</td>
<td width="200"><%=prmName.Value %></td></tr>
<tr><td align="right">所在部门:</td>
<td><%=prmDepartment.Value %></td></tr>
<tr><td align="right">家庭住址:</td>
<td><%=prmAddr.Value %></td></tr>
<tr><td align="right">家庭电话:</td>
<td><%=prmTel.Value %></td></tr>
<tr><td align="right">Email:</td>
<td><%=prmEmail.Value %></td></tr>
</table>
<center><p><p><p>
<hr width="505" color="#cc9999">
 <p><p><h3>记录添加成功!</h3>
<p><a href="add.htm">返回记录添加表单</a>||<a href="index.asp">返回主页</a>
</center>
</body>
</html>
로그인 후 복사


4) 데이터 변경 페이지: Update.asp. 이 페이지의 기능은 다음과 같습니다.

a) 데이터베이스에 연결하고 레코드 세트를 반환하는 것이 목적인 Connection 개체와 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)
%>
<html>
<head><title>更改记录</title></head>
<body background="../../../images/bj1.jpg">
<div align="center">
<!--*****************创建一个表单****************************************-->
<form name="form1" method="post" action="Update1.asp">
<table align="center" border="1">
<tr><td colspan="2" align="center">员工基本情况表</td></tr>
<tr><td align="right">员工姓名:</td>
<td><input type="text" name="txtName" value=<%=rst("员工姓名")%> readonly></td></tr>
<tr><td align="right">所在部门:</td>
<td><input type="text" name="txtDepartment" value=<%=rst("所在部门")%>></td></tr>
<tr><td align="right">家庭住址:</td>
<td><input type="text" name="txtAddr" value=<%=rst("家庭住址")%>></td></tr>
<tr><td align="right">家庭电话:</td>
<td><input type="text" name="txtTel" value=<%=rst("家庭电话")%>></td></tr>
<tr><td align="right">Email:</td>
<td><input type="text" name="txtemail" value=<%=rst("Email")%>></td></tr>
<tr><td align="center"><input type="submit" value="提交"></td>
<td align="center"><input type="reset" value="全部重写"></td></tr>
</table>
</form>
</div>
</body>
</html>
로그인 후 복사

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"))
%>
<html>
<head>
<title>更改记录</title>
</head>
<body>
<!-- #include virtual ="/adovbs.inc" -->
<%
'****************创建二个对象(连接对象、记录集对象)*********************
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
%>
<!--**************************用表格显示记录。**********************-->
<table align="center" border="1">
<tr><td colspan="2" align="center">员工基本情况表</td></tr>
<tr><td align="right" width="130" align="center">员工姓名:</td>
<td width="200"><%=Name %></td></tr>
<tr><td align="right">所在部门:</td>
<td><%=Department %></td></tr>
<tr><td align="right">家庭住址:</td>
<td><%=Addr %></td></tr>
<tr><td align="right">家庭电话:</td>
<td><%=Tel %></td></tr>
<tr><td align="right">Email:</td>
<td><%=Email %></td></tr>
</table>
<center>
<p><hr width="505" color="#cc9999">
<h3>记录更改成功!</h3>
<p><a href="index.asp">返回首页</a>
</center>
</body>
</html>
로그인 후 복사


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

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

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

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

<title>更改记录</title>
</head>
<body background="../../../images/bj1.jpg">
<!-- #include virtual ="/adovbs.inc" -->
<%
'****************创建三个对象(连接对象、记录集对象和指令对象)和一个参数*********************
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 员工姓名=&#63; "
'创建一个Parameter对象
set PrmName=cmd.CreateParameter("员工姓名",adVarChar,adParamInput,10)
'将parameter对象添加到Parameters集合中。
cmd.Parameters.Append prmName
'使用表单值设置参数值
PrmName.Value=Name
'执行Delete删除命令
cmd.Execute
%>
 <p><p><p>
<hr width="505" color="#cc9999">
<center><h3>记录删除成功!</h3>
<p><a href="index.asp">返回主页</a>
</center>
</body>
</html>
로그인 후 복사


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

a)、使用一个列表框用以提交检索的条件;

b)、创建三个对象(连接对象、记录集对象和指令对象)和一个参数,使用 Parameter 对象的 Value 属性将表单提交的值赋给参数;

c)、使用for 循环语句将检索出的记录集中的每一条记录都通过表格显示出来。

<% @ Language="VBScript" %>
<html>
<head>
<title>使用参数化检索记录</title>
</head background="../../../images/bj1.jpg>
<body background="../../../images/bj1.jpg">
<!--*************开始创建表单*****************-->
<div align="center">
<p>查询各部门员工的基本情况
<form name="form1" method="post" action="Shousho.asp">
选择部门:
<select size="1" name="department">
<option selected value="all">全部记录</option>
<option value="教务处">教务处</option>
<option value="英语教研室">英语教研室</option>
<option value="语文教研室">语文教研室</option>
<option value="数学教研室">数学教研室</option>
<option value="财务处">财务处</option>
</select>
<input type="submit" value="提交">||<a href="index.asp">返回主页</a>
</form>
<!-- #include virtual ="/adovbs.inc" -->
<%
'****************创建三个对象(连接对象、记录集对象和指令对象)和一个参数*********************
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 所在部门=&#63;"
end if
'向服务器发送SQL语句并返回一个记录集
Set rst=cmd.Execute
'-----------如果记录集不存在,则显示一条提示信息,否则,列出符合条件的记录。----------
if rst.EOF then
%>
<p><b>没有找到符合条件的记录!</b></p>
<% else %>
<table border="1">
<tr>
<!--用for 循环语句列出字段名。-->
<% for i=0 to rst.Fields.Count-1 %>
<th><%=rst(i).Name %></th>
<% next %>
<!--用while条件语句列出每条记录-->
<% while not rst.eof %>
<tr>
<%
'用for循环语句列出某条记录的各字段的值。
for i=0 to rst.Fields.Count-1
'如果字段值为空,则显示一个空格
if IsNull(rst(i)) then
%>
<td> </td>
<% else %>
<td nowrap><% =rst(i) %></td>
<% end if %>
<% next %>
</tr>
<%
rst.MoveNext
wend
%>
</table>
<% end if %>
</div>
</body>
</html>
로그인 후 복사

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿