版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
網(wǎng)絡(luò)編程講座概述ASP內(nèi)置對(duì)象Web數(shù)據(jù)庫ASP簡介什么是ASPASP是由Microsoft公司開發(fā)的服務(wù)器端腳本設(shè)計(jì)語言,于1997年,正式出現(xiàn)在網(wǎng)頁設(shè)計(jì)舞臺(tái)上。ASP是IIS所提供的組件之一,能夠在網(wǎng)頁中綜合使用HTML文件、ASP指令和ActiveX控件,從而建立動(dòng)態(tài)、交互且高效的Web服務(wù)器應(yīng)用程序。創(chuàng)建ASP文件ASP文件是以.asp為擴(kuò)展名的文本文件,包括以下幾個(gè)部分:文本HTML標(biāo)記ASP腳本命令A(yù)SP編輯工具文本編輯器,如寫字板、記事本等。帶有ASP增強(qiáng)支持的編輯器,如VisualInterDev。加入腳本命令腳本是一系列的命令和指令,指示W(wǎng)eb服務(wù)器執(zhí)行操作。ASP使用定界符<%和%>括入腳本命令。可以在定界符中括入任何命令,只要這些命令對(duì)正在使用的腳本語言有效。<HTML><BODY>現(xiàn)在時(shí)間:<%T=TimeResponse.WriteT‘顯示系統(tǒng)時(shí)間%></BODY></HTML>保存將已建立的ASP源程序保存至C:\Inetpub\,文件名為first.asp。其中<%T=TimeResponse.WriteT‘顯示系統(tǒng)時(shí)間%>即為ASP程序使用注釋VBScript支持撇號(hào)型注釋。當(dāng)處理腳本時(shí),它們將被刪除,而不是被送到瀏覽器。如<%'Thislineandthefollowingtwoarecomments.'ThePrintTablefunctionprintsall'theelementsinanarray.CallPrintTable(myarray())%>輸出表達(dá)式不能包括注釋。例如,下面的第一行將正常運(yùn)行,而第二行則不能。<%i=i+1'thisincrementsi.Thisscriptwillwork.%><%=name'thisprintsthevariablename.Thisscriptwillfail.%>ASP內(nèi)建對(duì)象ASP的六個(gè)內(nèi)建對(duì)象:他們屬于全局變量,不必聲明就可以使用。如輸出數(shù)據(jù)到瀏覽器,直接使用 Response.write(“白天”)Response對(duì)象—Response.Write與HTML標(biāo)識(shí)混合使用(stupid.asp)<%response.write“<html>”response.write“<body>”response.write“我的第一個(gè)ASP網(wǎng)頁”response.write“<hr>現(xiàn)在時(shí)間是:”response.writenowresponse.write"<br>Iamsostupid!“response.write“</body>”response.write“</html>”%>簡化版<%=數(shù)據(jù)%>(nostupid.asp) <html><body>我的第一個(gè)ASP網(wǎng)頁<hr>現(xiàn)在時(shí)間是:<%response.writenow%><%=now%><br>Howbrightyouare!"</body></html>Response對(duì)象—Response.End功能:結(jié)束網(wǎng)頁的輸出及程序的執(zhí)行Request對(duì)象讀取HTML的表單字段除了讀取URL后附帶的參數(shù)外,也可以讀取HTML表單的內(nèi)容典型的HTML表單包含幾個(gè)要素(form.htm)表單上含有輸入字段含有“傳送”按鈕按下傳送按鈕,會(huì)啟動(dòng)服務(wù)器的程序來處理表單上的數(shù)據(jù)<formmethod="POST"action="response.asp"><p>姓名:<inputtype="text"name="name"size="9"></p><p>興趣:<inputtype="text"name="love"size="9"></p><p><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="放棄"name="B2"></p></form>response.asp如下所示:運(yùn)行效果同網(wǎng)址后加“name”和“l(fā)ove”參數(shù)一致<body><p><%=request(“name”)%>你好:</p><p>您的興趣是<%=request(“l(fā)ove”)%>。</p></body>Server對(duì)象—Server.HTMLEncode對(duì)特殊字符如“<”及“>”進(jìn)行編碼,而不被視為HTML標(biāo)識(shí)如果要在瀏覽器窗口顯示:“<B>這不是粗體字<B>”,幾種不同的寫法的結(jié)果(htmlencode.asp):
<html><body><B>這是不是粗體字</B><P><%="<B>這是不是粗體字</B>"%><P><%=Server.HTMLEncode("<B>這是不是粗體字</B>")%><p></body></html>
其他對(duì)象Application對(duì)象被所有的ASP文件和所有連接者共有Session對(duì)象是某一連接所有網(wǎng)頁共用的對(duì)象。實(shí)例有一個(gè)用戶登錄頁面login.htm,其代碼為:<html><body><formname="form1"method="post"action="getlogin.asp">帳號(hào):<inputtype="text"name="account"size="15"><br>密碼:<inputtype="password"name="password"size="15"><br><inputtype="submit"value="確定"></form></body></html>編寫表單處理程序,1.當(dāng)密碼等于“admin”時(shí),計(jì)數(shù)器加1,并保存用戶帳號(hào)信息,以便該用戶在訪問其他頁面時(shí)使用。并在頁面顯示帳號(hào)信息及計(jì)數(shù)信息。例如:2.當(dāng)密碼不等于“admin”時(shí),將頁面重新定向到login.htm文件。
歡迎您admin您是第5位訪問本站的貴賓Web數(shù)據(jù)庫模型要存取WEB數(shù)據(jù)庫,.ASP程序會(huì)使用ADO對(duì)象,使用ADO對(duì)象,最重要的是要指定好ODBC驅(qū)動(dòng)程序及欲打開的數(shù)據(jù)庫。一旦指定好ADO對(duì)象所使用的ODBC驅(qū)動(dòng)程序,.ASP就通過ADO對(duì)象來下達(dá)SQL指令,或直接調(diào)用ADO對(duì)象的函數(shù),達(dá)到存取數(shù)據(jù)庫的目的。
由上可見,ADO對(duì)象與ODBC驅(qū)動(dòng)程序是關(guān)鍵瀏覽器IIS/PWSADO對(duì)象ODBC驅(qū)動(dòng)程序被啟動(dòng)的db.asp要求下載db.asp信息下載數(shù)據(jù)庫表(續(xù))以下是兩個(gè)表的例子,表名分別為student和department。idnamesexageaddressdeptnoscore0001smithM2015#20110870002allenF2116#11820940003jonesF2216#321300004scottM2115#4102083deptnodeptname10電子學(xué)院20計(jì)算機(jī)學(xué)院30理學(xué)院40經(jīng)管學(xué)院Web數(shù)據(jù)庫一個(gè)簡單的存取WEB數(shù)據(jù)庫的例子(simple.asp)。建立一個(gè)Connection對(duì)象:connSetconn=Server.CreateObject("ADODB.Connection")
調(diào)用conn.open方法打開training
指定的數(shù)據(jù)庫conn.open"Driver={MicrosoftAccessDriver(*.mdb)};dbq=“&Server.MapPath("student.mdb")或者conn.Open"DSN=training;UID=***;PWD=***"調(diào)用conn.execute方法建立RecordSet對(duì)象:rssetrs=conn.Execute(“expert”)將rs的內(nèi)容輸出到瀏覽器上RsToTable
rsField對(duì)象Field對(duì)象:與字段對(duì)應(yīng)的對(duì)象是Field,Field有如下屬性:屬性說明Name字段名稱Value字段數(shù)據(jù)內(nèi)容Type字段數(shù)據(jù)類型姓名性別年齡單位張三南26信息中心Field對(duì)象Name屬性Value屬性Fields集合對(duì)象Fields集合對(duì)象:Field對(duì)象的集合構(gòu)成Fields集合對(duì)象,F(xiàn)ields集合對(duì)象與數(shù)據(jù)記錄對(duì)應(yīng)Fds為一Fields集合對(duì)象Fori=0tofds.count-1response.writefds(i).name列出字段抬頭response.writefds(i).value列出字段數(shù)據(jù)內(nèi)容Next
姓名性別年齡單位張三男26信息中心Field對(duì)象編號(hào)0123Fields(0)Fields(1)Fields(2)Fields(3)Fields集合對(duì)象遍歷記錄集記錄集對(duì)象有許多在記錄之間移動(dòng)的方法。這些方法的大部分只有在記錄集以某種特定的游標(biāo)打開時(shí)才可以使用。MoveNumRecords。在記錄集中向前或向后移動(dòng)指定數(shù)目的記錄數(shù)。MoveFirst。移動(dòng)到記錄集的第一條記錄。MoveNext。移動(dòng)到記錄集的下一條記錄。MovePrevious。移動(dòng)到記錄集中的上一條記錄。MoveLast。移動(dòng)到記錄集的最后一條記錄。記錄集對(duì)象的屬性:AbsolutePosition。用來設(shè)置或讀取當(dāng)前記錄在記錄集中的位置順序號(hào)。BOF。標(biāo)明當(dāng)前位置在記錄集中的第一條記錄之前。EOF。標(biāo)明當(dāng)前位置在記錄集中的最后一條記錄之后。RecordCount。表示一個(gè)記錄集中的記錄總數(shù)。例:在一個(gè)記錄集中反向移動(dòng)。遍歷記錄集(續(xù))<!--#INCLUDEfile="adovbs.inc"--><%SetMyConn=Server.CreateObject("ADODB.Connection")myconn.open"Driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("student.mdb")SetRS=Server.CreateObject("ADODB.RecordSet")RS.Open"SELECT*FROMstudent",MyConn,adOpenStaticRS.MoveLastresponse.write"<tableborder=1>"WHILENOTRS.BOF response.write"<tr>" Fori=0toRS.fields.count-1 response.write"<td>" response.writers.fields(i).value Next response.write"</tr>"
RS.MovePreviousWENDRS.CloseMyConn.Close%></table>分頁顯示利用記錄集對(duì)象的如下屬性,把一個(gè)記錄集中的記錄分成許多邏輯頁。AbsolutePage。指定當(dāng)前的頁。PagePount。返回記錄集中的邏輯頁數(shù)。PageSize。指定一個(gè)邏輯頁中的記錄個(gè)數(shù),缺省值是10。分頁顯示的主要功能:第一頁
上一頁
下一頁
最后一頁輸入頁數(shù):頁數(shù):2/5每次從數(shù)據(jù)庫中讀取指定條數(shù)的記錄,如15條??梢燥@示總頁碼和當(dāng)前頁碼。第一頁、上一頁、下一頁、最后一頁按鈕可以用來改變當(dāng)前的頁碼。在輸入頁碼字段中輸入頁碼,可以改變當(dāng)前頁碼。在瀏覽器的地址欄最后加上“?page=n”以改變頁碼,如:
分頁顯示(續(xù)1)實(shí)現(xiàn)分頁導(dǎo)航按鈕的腳本為:<%
Setconn=Server.CreateObject("ADODB.Connection") conn.open"Driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("student.mdb") setrs=Server.CreateObject("ADODB.Recordset") sql="select*fromdepartment" rs.opensql,conn,3,1 rs.pagesize=10 page=clng(request("page")) ifpage<1then page=1 endif ifpage>rs.pagecountthen page=rs.pagecount endif showonepagers,page%><formaction=pagebrow.aspmethod=get>
分頁顯示(續(xù)2)<%ifpage<>1then response.write"<ahref=pagebrow.asp?page=1>第一頁</a>" response.write"<ahref=pagebrow.asp?page="&(1)&">上一頁</a>" endififpage<>rs.pagecountthen response.write"<ahref=pagebrow.asp?page="&(page+1)&">下一頁</a>" response.write"<ahref=pagebrow.asp?page="&rs.pagecount&">最后一頁</a>" endif%>輸入頁碼:<inputtype=textname=pagesize=3>頁碼:<fontcolor="red"><%=page%>/<%=rs.pagecount%></font></form>分頁顯示(續(xù)3)分頁顯示的子程序的腳本:SubShowOnePage(rs,page) rs.AbsolutePage=page response.write"<tableborder=1>" foripage=1tors.pagesize response.write"<tr>" recno=(1)*rs.pagesize+ipage response.write"<td>"&recno&"</td>" fori=0tors.fields.count-1 response.write"<td>"&rs.fields(i).value&"</td>" next response.write"</tr>" rs.movenext Ifrs.eofthenexitfor next response.write"</table></center>"endsub 成績管理實(shí)例Web服務(wù)器設(shè)置在本地指定一個(gè)目錄,存放.asp文件。如d:\myweb\asp。安裝Web服務(wù)器,并為d:\myweb\asp目錄建立虛擬映射,如/asp。設(shè)置該虛擬目錄有讀取和腳本執(zhí)行權(quán)限。數(shù)據(jù)庫建立成績管理的功能。(1)首先進(jìn)入成績管理的主頁(main.asp),可以錄入成績或查看已經(jīng)錄入的成績。成績管理實(shí)例(續(xù)1)(2)選擇“成績錄入”,進(jìn)入new.asp的成績輸入表單。該表單輸入的內(nèi)容將由insert.asp處理。(3)單擊學(xué)生姓名,進(jìn)入detail.asp,顯示該學(xué)生的信息及成績。對(duì)信息進(jìn)行修改,選擇“修改”,將由update.asp處理修改內(nèi)容。選擇刪除,將由delete.asp處理。(4)處理完成后都返回main.asp。
程序設(shè)計(jì)
main.asp中,要顯示系名,需要建立一個(gè)連接查詢。SQL語句為:selectid,name,deptname,scorefromstudent,departmentwherestudent.deptno=department.deptno成績管理實(shí)例(續(xù)2)
main.asp中,姓名上建立鏈接的方法:
response.write"<tr><td>"&rs("id")&"</td>“response.write"<td><ahref=detail.asp?id="&rs("id")&">"&rs("name")&"</a></td>“response.write"<td>"&rs("deptname")&"</td>“response.write"<td>"&rs("score")&"</td></tr>“new.asp中,顯示系下拉菜單的方法:<selectname="deptno"><%sql="select*fromdepartment“setrs=conn.execute(sql)whilenotrs.eof
response.write"<optionvalue="&rs("deptno")&">"&rs("deptname")&"</option>“
rs.movenextWEND%></select>成績管理實(shí)例(續(xù)3)
detail.asp中,顯示系下拉菜單的方法,并使當(dāng)前用戶所在的系選中的方法:<%SetMyConn=Server.CreateObjec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛導(dǎo)航考試題目及答案
- 立體構(gòu)成實(shí)踐試題及答案
- 2025-2026五年級(jí)音樂期末試卷
- 2025-2026五年級(jí)上學(xué)期體育期末冀教版
- 福特撼路者u375培訓(xùn)課件
- 宮外孕保守治療的護(hù)理配合
- 衛(wèi)生計(jì)生委財(cái)務(wù)制度
- 幼兒園衛(wèi)生防護(hù)制度
- 衛(wèi)生站消毒物品管理制度
- 衛(wèi)生室人員公示制度
- 金屬廠生產(chǎn)制度
- 2026安徽淮北市特種設(shè)備監(jiān)督檢驗(yàn)中心招聘專業(yè)技術(shù)人員4人參考題庫及答案1套
- 2025年航空行業(yè)空客智能制造報(bào)告
- 蒙牛乳業(yè)股份有限公司盈利能力分析
- 2025民航西藏空管中心社會(huì)招聘14人(第1期)筆試參考題庫附帶答案詳解(3卷合一版)
- (新教材)2026年人教版八年級(jí)下冊(cè)數(shù)學(xué) 21.2.1 平行四邊形及其性質(zhì) 課件
- 2025年東營中考物理真題及答案
- GB/T 46425-2025煤矸石山生態(tài)修復(fù)技術(shù)規(guī)范
- 反三違考試題及答案
- DB32-T 5201-2025 特種設(shè)備檢驗(yàn)檢測機(jī)構(gòu)黨建檔案管理規(guī)范
- 2024-2025學(xué)年度黃河水利職業(yè)技術(shù)學(xué)院單招《職業(yè)適應(yīng)性測試》考前沖刺試卷附答案詳解【綜合卷】
評(píng)論
0/150
提交評(píng)論