国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

ASP基礎(chǔ)知識(shí)Command對(duì)象講解

瀏覽:313日期:2022-06-05 15:41:08

Coonamd 對(duì)象定義了將對(duì)數(shù)據(jù)源執(zhí)行的命令,可以用于查詢數(shù)據(jù)庫(kù)表并返回一個(gè)記錄集,也可以用于對(duì)數(shù)據(jù)庫(kù)表進(jìn)行添加、更改和刪除操作。
一、使用Command 對(duì)象的步驟:
當(dāng)在 ASP 頁(yè)面中使用 Command 對(duì)象處理數(shù)據(jù)時(shí),應(yīng)首先設(shè)置命令類型、命令文本以及相關(guān)的活動(dòng)數(shù)據(jù)庫(kù)連接等,并通過(guò) Parameter 對(duì)象傳遞命令參數(shù),然后通過(guò)調(diào)用 Execute 方法來(lái)執(zhí)行 SQL 語(yǔ)句或調(diào)用存儲(chǔ)過(guò)程,以完成數(shù)據(jù)庫(kù)記錄的檢索、添加、更改和刪除任務(wù)。其步驟如下:
1、使用 ActiveCommand 屬性設(shè)置相關(guān)的數(shù)據(jù)庫(kù)連接;
2、使用 CommandType 屬性設(shè)置命令類型;
3、使用 CommandText 屬性定義命令(例如SQL語(yǔ)句)的可執(zhí)行文本;
4、使用 CommandTimeout 屬性設(shè)置命令超時(shí)時(shí)間;
5、使用 Execute 方法執(zhí)行命令。
二、Command 對(duì)象的屬性:

三、Command 對(duì)象的方法----Execute
該方法執(zhí)行在 CommandText 屬性中指定的查詢。語(yǔ)法格式分為以下兩種形式。
1、對(duì)于按行返回的 Command :
Set recordset=command.Execute(RecordsAffected,Parameters,Options)
2、對(duì)于不按行返回的 Command :
command.Execute RecordsAffected,Parameters,Options
  其中參數(shù) RecordsAffected 為提供程序返回操作所影響的記錄數(shù)錄。Rarameters 為使用 SQL 語(yǔ)句傳送的參數(shù)值。Options 指示提供程序如何對(duì) Command 對(duì)象的 CommandText 屬性賦值。
四、使用 Parameters 集合
Command 對(duì)象具有由 Parameter 對(duì)象組成的 Parameters 集合,Parameter 對(duì)象代表與基于參數(shù)化查詢或存儲(chǔ)過(guò)程的 Command 對(duì)象相關(guān)聯(lián)的參數(shù)或自變量。通過(guò)創(chuàng)建 Parameter 對(duì)象并添加到 Parameter 集合中,可以向參數(shù)化查詢傳遞所需要的數(shù)據(jù)。使用 Parameter 集合的步驟如表下:
使用Parameter 集合的步驟

五、Command 對(duì)象的應(yīng)用實(shí)例
1、這是一個(gè)簡(jiǎn)單的員工基本情況管理系統(tǒng),其功能有:1)、添加員工資料;2)、更改員工資料;3)、刪除員工資料,檢索員工資料。它包含著七個(gè)頁(yè)面和一個(gè)數(shù)據(jù)庫(kù)。分別為:
1)、主頁(yè)面:index.asp
2)、添加數(shù)據(jù)頁(yè)面:add.htm
3)、保存添加數(shù)據(jù)頁(yè)面:add.asp
4)、更改數(shù)據(jù)頁(yè)面:Update.asp
5)、保存更改數(shù)據(jù)頁(yè)面:Update1.asp
6)、刪除記錄頁(yè)面:Detele.asp
7)、檢索員工資料頁(yè)面:shousho.asp
8)、數(shù)據(jù)庫(kù):RSGL.mdb.用到該數(shù)據(jù)庫(kù)中的”員工基本情況表“。
2、各頁(yè)面的代碼如下:
1)、主頁(yè)面:index.asp。該頁(yè)面的功能有:
a)、創(chuàng)建兩個(gè)對(duì)象,Connectiion對(duì)象和Recordset對(duì)象,其目的是連接數(shù)據(jù)庫(kù)和返回一個(gè)記錄集;
b)、創(chuàng)建一個(gè)表格,使do while循環(huán)語(yǔ)句將各條記錄在表格中顯示出來(lái);
c)、創(chuàng)建三個(gè)超連接,一個(gè)用以連接添加數(shù)據(jù)頁(yè)面,另一個(gè)通過(guò)指定的員工姓名連接到更改數(shù)據(jù)頁(yè)面,還有一個(gè)通過(guò)指定的員工姓名連接到刪除頁(yè)面。

<% @ Language="VBScript" %><html><head><title>員工基本情況管理系統(tǒng)</title></head><body background="../../../images/bj1.jpg"><%"****************創(chuàng)建兩個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象)*********************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)%><!--************創(chuàng)建一個(gè)表格,用以顯示數(shù)據(jù)庫(kù)中的各條記錄***********--><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">狀態(tài)</td><%"使用do while循環(huán)語(yǔ)句將各條記錄顯示出來(lái)。do while Not rst.eoft1=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?id=" & t1 & ">修改</a><a href=Delete.asp?id=" & t1 & ">||刪除</a></td></tr>"response.write ttrst.MoveNextloopcnn.CloseSet cnn=Nothing%></table></body></html>

2)、添加數(shù)據(jù)頁(yè)面:add.htm 。

本頁(yè)面由一個(gè)表單組成,其功能是向保存添加數(shù)據(jù)頁(yè)面(add.asp)提交數(shù)據(jù)。

<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)、保存添加數(shù)據(jù)頁(yè)面:add.asp。

該頁(yè)面的功能有:

a)、使用Request對(duì)象獲取從add.htm頁(yè)面提交的值;

b)、創(chuàng)建三個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象和指令對(duì)象)和五個(gè)參數(shù),通過(guò)調(diào)用參數(shù)執(zhí)行INSERT插入命令。

<% @ Language="VBScript" %><html><head><title>添加記錄</title></head><body background="../../../images/bj1.jpg"><!-- #include virtual ="/adovbs.inc" --><%"****************創(chuàng)建三個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象和指令對(duì)象)和五個(gè)參數(shù)*********************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"設(shè)置ActiveConnection屬性,使Command對(duì)象與打開的連接相關(guān)聯(lián)set cmd.ActiveConnection=cnn"指定傳送給數(shù)據(jù)提供者的命令文本是一條SQL語(yǔ)言。cmd.CommandType=adCmdTextcmd.CommandText="INSERT INTO 員工基本情況表(員工姓名,所在部門,家庭住址,家庭電話,Email) values(?,?,?,?,?)""創(chuàng)建五個(gè)Parameter對(duì)象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對(duì)象添加到Parameters集合中。cmd.Parameters.Append prmNamecmd.Parameters.Append prmDepartmentCmd.Parameters.Append prmAddrCmd.Parameters.Append prmTelCmd.Parameters.Append prmEmail"使用表單值設(shè)置參數(shù)值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")"執(zhí)行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">&nbsp;<p><p><h3>記錄添加成功!</h3><p><a href="add.htm">返回記錄添加表單</a>||<a href="index.asp">返回主頁(yè)</a></center></body></html>


4)、更改數(shù)據(jù)頁(yè)面:Update.asp。該頁(yè)面的功能有:

a)、創(chuàng)建兩個(gè)對(duì)象,Connectiion對(duì)象和Recordset對(duì)象,其目的是連接數(shù)據(jù)庫(kù)和返回一個(gè)記錄集;

b)、創(chuàng)建一個(gè)表單,其目的是提交更改過(guò)的數(shù)據(jù)。

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)%><html><head><title>更改記錄</title></head><body background="../../../images/bj1.jpg"><div align="center"><!--*****************創(chuàng)建一個(gè)表單****************************************--><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)、保存更改數(shù)據(jù)頁(yè)面:Update2.asp。

該頁(yè)面的功能有:

a)、使用Request對(duì)象獲取從Update.asp頁(yè)面提交的值;

b)、創(chuàng)建二個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象);

c)、通過(guò)表格顯示更改后的記錄。

<% @ Language="VBScript" %><%"*****************從提交表單中提取數(shù)值***************************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"))%><html><head><title>更改記錄</title></head><body><!-- #include virtual ="/adovbs.inc" --><%"****************創(chuàng)建二個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象)*********************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%><!--**************************用表格顯示記錄。**********************--><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">返回首頁(yè)</a></center></body></html>


6)、刪除數(shù)據(jù)頁(yè)面:Detele.asp。

a)、使用Request對(duì)象獲取要?jiǎng)h除的員工姓名;

b)、創(chuàng)建三個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象和指令對(duì)象)和一個(gè)參數(shù),通過(guò)參數(shù)指定的值刪除記錄;

c)、給出刪除成功提示框。

<title>更改記錄</title></head><body background="../../../images/bj1.jpg"><!-- #include virtual ="/adovbs.inc" --><%"****************創(chuàng)建三個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象和指令對(duì)象)和一個(gè)參數(shù)*********************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"設(shè)置ActiveConnection屬性,使Command對(duì)象與打開的連接相關(guān)聯(lián)set cmd.ActiveConnection=cnn"指定傳送給數(shù)據(jù)提供者的命令文本是一條SQL語(yǔ)言。cmd.CommandType=adCmdTextcmd.CommandText="Delete from 員工基本情況表 where 員工姓名=? ""創(chuàng)建一個(gè)Parameter對(duì)象set PrmName=cmd.CreateParameter("員工姓名",adVarChar,adParamInput,10)"將parameter對(duì)象添加到Parameters集合中。cmd.Parameters.Append prmName"使用表單值設(shè)置參數(shù)值PrmName.Value=Name"執(zhí)行Delete刪除命令cmd.Execute%>&nbsp;<p><p><p><hr width="505" color="#cc9999"><center><h3>記錄刪除成功!</h3><p><a href="index.asp">返回主頁(yè)</a></center></body></html>


7)、檢索員工資料頁(yè)面 :shousho.asp。

a)、使用一個(gè)列表框用以提交檢索的條件;

b)、創(chuàng)建三個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象和指令對(duì)象)和一個(gè)參數(shù),使用 Parameter 對(duì)象的 Value 屬性將表單提交的值賦給參數(shù);

c)、使用for 循環(huán)語(yǔ)句將檢索出的記錄集中的每一條記錄都通過(guò)表格顯示出來(lái)。

<% @ Language="VBScript" %><html><head><title>使用參數(shù)化檢索記錄</title></head background="../../../images/bj1.jpg><body background="../../../images/bj1.jpg"><!--*************開始創(chuàng)建表單*****************--><div align="center"><p>查詢各部門員工的基本情況<form name="form1" method="post" action="Shousho.asp">選擇部門:<select size="1" name="department"><option selected value="all">全部記錄</option><option value="教務(wù)處">教務(wù)處</option><option value="英語(yǔ)教研室">英語(yǔ)教研室</option><option value="語(yǔ)文教研室">語(yǔ)文教研室</option><option value="數(shù)學(xué)教研室">數(shù)學(xué)教研室</option><option value="財(cái)務(wù)處">財(cái)務(wù)處</option></select><input type="submit" value="提交">||<a href="index.asp">返回主頁(yè)</a></form><!-- #include virtual ="/adovbs.inc" --><%"****************創(chuàng)建三個(gè)對(duì)象(連接對(duì)象、記錄集對(duì)象和指令對(duì)象)和一個(gè)參數(shù)*********************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"創(chuàng)建一個(gè)Parameter對(duì)象set PrmDepartment=cmd.CreateParameter("所在部門",adVarChar,adParamInput,10)"將Parameter對(duì)象添加到Prmameters集合中cmd.Parameters.Append prmDepartment"將用戶提交的所在部門名稱作為parameter對(duì)象的值prmDepartment.Value=Request.Form("department")"指定傳送給數(shù)據(jù)提供者的命令文本是一條SQL語(yǔ)言。cmd.CommandType=adCmdText"設(shè)置ActiveConnection屬性,使Command對(duì)象與打開的連接相關(guān)聯(lián)set cmd.ActiveConnection=cnn"******如果沒有提交所在部門名稱,或選擇所有部門,則顯示所有記錄,否則按參數(shù)進(jìn)行查詢。****************if PrmDepartment.Value="" or Request.Form("department")="all" thencmd.CommandText="select * from 員工基本情況表"Else"便用參數(shù)化查詢語(yǔ)句作為命令文本cmd.CommandText="select * from 員工基本情況表 where 所在部門=?"end if"向服務(wù)器發(fā)送SQL語(yǔ)句并返回一個(gè)記錄集Set rst=cmd.Execute"-----------如果記錄集不存在,則顯示一條提示信息,否則,列出符合條件的記錄。----------if rst.EOF then%><p><b>沒有找到符合條件的記錄!</b></p><% else %><table border="1"><tr><!--用for 循環(huán)語(yǔ)句列出字段名。--><% for i=0 to rst.Fields.Count-1 %><th><%=rst(i).Name %></th><% next %><!--用while條件語(yǔ)句列出每條記錄--><% while not rst.eof %><tr><%"用for循環(huán)語(yǔ)句列出某條記錄的各字段的值。for i=0 to rst.Fields.Count-1"如果字段值為空,則顯示一個(gè)空格if IsNull(rst(i)) then%><td>&nbsp;</td><% else %><td nowrap><% =rst(i) %></td><% end if %><% next %></tr><%rst.MoveNextwend%></table><% end if %></div></body></html>

以上就是關(guān)于ASP基礎(chǔ)知識(shí)Command對(duì)象的入門教程,希望對(duì)大家的學(xué)習(xí)有所幫助,多多交流探討。

標(biāo)簽: ASP
相關(guān)文章:
主站蜘蛛池模板: 尉氏县| 炎陵县| 溆浦县| 乐安县| 山丹县| 涞水县| 宜都市| 榆树市| 黔江区| 绥中县| 阿克陶县| 沽源县| 大埔县| 黔东| 绥化市| 荔浦县| 荣昌县| 甘谷县| 鄂伦春自治旗| 湛江市| 宁明县| 喀什市| 尼玛县| 连城县| 卢氏县| 文水县| 德保县| 突泉县| 宝鸡市| 新化县| 陵水| 安宁市| 普兰店市| 丹凤县| 来安县| 昌平区| 泰州市| 东乡县| 铜陵市| 淮北市| 江陵县|