當前位置:才華齋>設計>網頁設計>

ASP程式設計例項大全

網頁設計 閱讀(1.76W)

ASP簡單、易於維護 , 是小型頁面應用程式的選擇 ,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情況下, ASP甚至可以實現中等規模的企業應用程式。那麼asp程式設計中有哪些例項比較常用呢?下面yjbys小編為大家彙總ASP程式設計中20個非常有用的例子,一起來學習吧!

ASP程式設計例項大全

  1.如何用Asp判斷你的網站的虛擬物理路徑

答:使用Mappath方法

<%= Server.MapPath("")%>

  2.我如何知道使用者所用的瀏覽器?

答:使用the Request object方法

strBrowser=erVariables("HTTP_USER_AGENT")

If Instr(strBrowser,"MSIE") <> 0 Then

rect("")

Else

rect("")

End If

  3.如何計算每天的平均反覆訪問人數

答:解決方法

<% startdate=DateDiff("d",Now,"01/01/1990")

if strdate<0 then startdate=startdate*-1

avgvpd=Int((usercnt)/startdate) %>

顯示結果

<% e(avgvpd) %>

that is page have been viewed since November 10,1998

  4.如何顯示隨機圖象

<% dim p,ppic,dpic

ppic=12

randomize

p=Int((ppic*rnd)+1)

dpic="graphix/randompics/"&p&".gif"

%>

顯示

<img src="<%=dpic%>">

  5.如何回到先前的頁面

答:<a href="<%=erVariables("Http_REFERER")%>">preivous page</a>

或用圖片如:<img src="arrowback.gif" alt="<%=erVariables("HTTP_REFERER")%>">

  6.如何確定對方的IP地址

答:<%=erVariables("REMOTE_ADDR)%>

  7.如何鏈結到一副圖片上

答:<% @Languages=vbs cript %>

<% response.expires=0

strimagename="graphix/errors/erroriamge.gif"

rect(strimagename)

%>

  8.強迫輸入密碼對話方塊

答:把這句話放載頁面的開頭

<% us="401 not Authorized"

%>

  9.如何傳遞變數從一頁到另一頁

答:用 HIDDEN 型別來傳遞變數

<% form method="post" action="">

<% for each item in %>

<input namee="<%=item%>" type="HIDDEN"

value="<%=Encode((item)) %>">

<% next %>

</form>

  10.為何我在 asp 程式內使用 msgbox,程式出錯說沒有許可權

答:由於 asp 是伺服器執行的,如果可以在伺服器顯示一個對話方塊,那麼你只好等有人按了確定之後,你的程式才能繼續執行,而一般伺服器不會有人守著,所以微軟不得不禁止這個函式,並胡亂告訴你 (:) 呵呵) 沒有許可權。但是ASP和客戶端指令碼結合倒可以顯示一個對話方塊,as follows:

<% yourVar="測試對話方塊"%>

<% script language=javas cript>

alert("<%=yourvar%>")

</script>

  11.有沒有辦法保護自己的原始碼,不給人看到

答:可以去下載一個微軟的Windows s cript Encoder,它可以對asp的指令碼和客戶端javas cript/vbs cript指令碼進行加密。。。不過客戶端加密後,只有ie5才能執行,伺服器端指令碼加密後,只有伺服器上安裝有s cript engine 5(裝一個ie5就有了)才能執行。

  12.怎樣才能將 query string 從一個 asp 檔案傳送到另一個?

答:前者檔案加入下句: rect(" & erVariables("QUERY_STRING"))

  檔案總是不起作用?

答:只有web目錄設定為web application, 才有效,並且一個web application的根目錄下 才有效。IIS4可以使用Internet Service Manager設定application setting 怎樣才能使得htm檔案如同asp檔案一樣可以執行指令碼程式碼?

  14.怎樣才能使得htm檔案如同asp檔案一樣可以執行指令碼程式碼?

答:Internet Sevices Manager -> 選擇default web site ->右鼠鍵->選單屬性-〉主目錄-> 應用程式設定(Application Setting)-> 點選按鈕 "配置"-> app mapping ->點選按鈕"Add" -> executable browse選擇 WINNTSYSTEM32INETSRV EXTENSION 輸入 htm method exclusions 輸入TE 全部確定即可。但是值得注意的是這樣對htm也要由處理,效率將降低。

  15.如何註冊元件

答:有兩種方法。

第一種方法:手工註冊 DLL 這種方法從IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令列方式下來執行,進入到包含有DLL的目錄,並輸入:regsvr32 component_ 例如 c:tempregsvr32 它會把dll的特定資訊註冊入伺服器中的登錄檔中。然後這個元件就可以在伺服器上使用了,但是這個方法有一個缺陷。當使用這種方法註冊完畢元件後,該元件必須要相應的設定NT的匿名帳號有許可權執行這個dll。特別是一些元件需要讀取登錄檔,所以,這個註冊元件的方法僅僅是使用在伺服器上沒有MTS的情況下,要取消註冊這個dll,使用:regsvr32 /u example c:tempregsvr32 /u

第二種方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改進。MTS允許你指定只有有特權的使用者才能夠訪問元件,大大提高了網站伺服器上的安全性設定。在MTS上註冊元件的步驟如下:

1) 開啟IIS管理控制檯。

2) 展開transaction server,右鍵單擊"pkgs installed"然後選擇"new package"。

3) 單擊"create an empty package"。

4) 給該包命名。

5) 指定administrator帳號或則使用"interactive"(如果伺服器經常是使用administrator 登陸的話)。

6) 現在使用右鍵單擊你剛建立的那個包下面展開後的"components"。選擇 "new then component"。

7) 選擇 "install new component" 。

8) 找到你的檔案然後選擇next到完成。

要刪除這個物件,只要選擇它的圖示,然後選擇delete。

附註:特別要注意第二種方法,它是用來除錯自己編寫元件的最好方法,而不必每次都需要重新啟動機器了。

  16. ASP與Access資料庫連線:

<%@ language=VBs cript%>

<%

dim conn,mdbfile

mdbfile=server.mappath("資料庫名稱")

set conn=teobject("ection")

"driver={microsoft access driver (*)};uid=admin;pwd=資料庫密碼;dbq="&mdbfile

%>

  17. ASP與SQL資料庫連線:

<%@ language=VBs cript%>

<%

dim conn

set conn=teobject("ection")

"PROVIDER=SQLOLEDB;DATA SOURCE=SQL伺服器名稱或IP地址;UID=sa;PWD=資料庫密碼;DATABASE=資料庫名稱

%>

建立記錄集物件:

set rs=teobject("rdset")

SQL語句,conn,3,2

  18. SQL常用命令使用方法:

(1) 資料記錄篩選:

sql="select * from 資料表 where 欄位名=欄位值 order by 欄位名 [desc]"

sql="select * from 資料表 where 欄位名 like %欄位值% order by 欄位名 [desc]"

sql="select top 10 * from 資料表 where 欄位名 order by 欄位名 [desc]"

sql="select * from 資料表 where 欄位名 in (值1,值2,值3)"

sql="select * from 資料表 where 欄位名 between 值1 and 值2"

(2) 更新資料記錄:

sql="update 資料表 set 欄位名=欄位值 where 條件表示式"

sql="update 資料表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表示式"

(3) 刪除資料記錄:

sql="delete from 資料表 where 條件表示式"

sql="delete from 資料表" (將資料表所有記錄刪除)

(4) 新增資料記錄:

sql="insert into 資料表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)"

sql="insert into 目標資料表 select * from 源資料表" (把源資料表的.記錄新增到目標資料表)

(5) 資料記錄統計函式:

AVG(欄位名) 得出一個表格欄平均值

COUNT(*|欄位名) 對資料行數的統計或對某一欄有值的資料行數統計

MAX(欄位名) 取得一個表格欄最大的值

MIN(欄位名) 取得一個表格欄最小的值

SUM(欄位名) 把資料欄的值相加

引用以上函式的方法:

sql="select sum(欄位名) as 別名 from 資料表 where 條件表示式"

set rs=te(sql)

用 rs("別名") 獲取統的計值,其它函式運用同上。

(5) 資料表的建立和刪除:

CREATE TABLE 資料表名稱(欄位1 型別1(長度),欄位2 型別2(長度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 資料表名稱 (永久性刪除一個數據表)

  19. 記錄集物件的方法:

next 將記錄指標從當前的位置向下移一行

previous 將記錄指標從當前的位置向上移一行

first 將記錄指標移到資料表第一行

last 將記錄指標移到資料表最後一行

luteposition=N 將記錄指標移到資料表第N行

lutepage=N 將記錄指標移到第N頁的第一行

size=N 設定每頁為N條記錄

count 根據 pagesize 的設定返回總頁數

rdcount 返回記錄總數

返回記錄指標是否超出資料表首端,true表示是,false為否

返回記錄指標是否超出資料表末端,true表示是,false為否

te 刪除當前記錄,但記錄指標不會向下移動

ew 新增記錄到資料表末端

te 更新資料表記錄

  20、 Recordset物件方法

Open方法

Source,ActiveConnection,CursorType,LockType,Options

Source

Recordset物件可以通過Source屬性來連線Command物件。Source引數可以是一個Command物件名稱、一段SQL命令、一個指定的資料表名稱或是一個Stored Procedure。假如省略這個引數,系統則採用Recordset物件的Source屬性。

ActiveConnection

Recordset物件可以通過ActiveConnection屬性來連線Connection物件。這裡的ActiveConnection可以是一個Connection物件或是一串包含資料庫連線資訊(ConnectionString)的字串引數。