ASP基礎知識Command對象講解_php基礎

來源:互聯網
上載者:User

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" %><html><head><title>員工基本情況管理系統</title></head><body background="../../../images/bj1.jpg"><%'****************建立兩個對象(連線物件、記錄集對象)*********************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)%><!--************建立一個表格,用以顯示資料庫中的各條記錄***********--><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.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)、添加資料頁面: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)、建立三個對象(連線物件、記錄集對象和指令對象)和五個參數,通過調用參數執行INSERT插入命令。

<% @ Language="VBScript" %><html><head><title>添加記錄</title></head><body background="../../../images/bj1.jpg"><!-- #include virtual ="/adovbs.inc" --><%'****************建立三個對象(連線物件、記錄集對象和指令對象)和五個參數*********************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%><!--用表格顯示記錄。--><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)、建立兩個對象,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)%><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,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" --><%'****************建立二個對象(連線物件、記錄集對象)*********************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">返回首頁</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,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%> <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,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%><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.MoveNextwend%></table><% end if %></div></body></html>

以上就是關於ASP基礎知識Command對象的入門教程,希望對大家的學習有所協助,多多交流探討。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.