- Login
帳號:
密碼:
ASP MENU
線上教學
   ASP 教學
VB.NET 教學
JSP 教學
JAVA 教學
完整 ASP 教學
程式下載
   ASP 程式下載
提供 ASP 程式
程式量身訂做
   收費標準
填寫需求表
討論交流專區
   程式討論區
電腦資訊交流
工作機會
   社會人就職情報
汎亞人力銀行
大台中人力銀行
大高雄人力銀行
相關連結
   ASP 虛擬空間
ASP 相關網站
聯絡我們
   意見信箱
加入會員程式討論區線上購物回首頁
ASP 教學
[轉貼] ASP 代碼經典集合

1.如何用Asp判斷你的網站的虛擬物理路徑你我一起舞共續ASP經典輝煌!--POWERED BY 25175

答:使用Mappath方法

<p align=center><font size=4 face=Arial><b> The Physical path to this virtual website is: </b></font> <font color=#FF0000 size=6 face=Arial> <%= Server.MapPath()%> </font></p>

 

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

答:使用the Request object方法

<%
strBrowser = Request.ServerVariables(HTTP_USER_AGENT)
If InStr(strBrowser, "MSIE") <> 0 Then
   
Response.redirect("ForMSIEOnly.htm")
Else
   
Response.redirect("ForAll.htm")
End If
%>

 

3.如何計算每天的平均反復訪問人數
答:解決方法

<%
startdate = DateDiff(d, Now, 01 / 01 / 1990)
If strdate<0 Then startdate = startdate * -1
avgvpd = Int((usercnt) / startdate)
%>
顯示結果
<% response.write(avgvpd) %>
that is it.this 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=<%=request.serverVariables(Http_REFERER)%>>preivous page</a>
 
或用圖片如:

<img src=arrowback.gif alt=<%=request.serverVariables(HTTP_REFERER)%>>

 

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

<%=Request.serverVariables(REMOTE_ADDR)%>

 

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

<%@Languages=vbscript %>
<%
response.expires = 0
strimagename = "graphix/errors/erroriamge.gif"
response.redirect(strimagename)
%>

 

8.強迫輸入密碼對話框
答:把這句話放載頁面的開頭

<%
response.status = 401 ' Not Authorized
response.End
%>

 

9.如何傳遞變量從一頁到另一頁
答:用 HIDDEN 類型來傳遞變量

<Form method = post action = "mynextpage.asp">
<%
For Each Item in request.
Form
%>
<input namee=<%=item%> type=HIDDEN value=<%=server.HTMLEncode(Request.form(item)) %>
>
<% next
%>
</form>

 

10.為何我在 asp 程序內使用 msgbox,程序出錯說沒有權限
答:由於 asp 是服務器運行的,如果可以在服務器顯示一個對話框,那麼你只好等有人按了確定之后,你的程序才能繼續執行,而一般服務器不會有人守著,所以微軟不得不禁止這個函數,並胡亂告訴你 (:) 呵呵) 沒有權限。但是ASP和客戶端腳本結合倒可以顯示一個對話框,as follows:

<% yourVar="測試對話框"%>
<script language = 'javascript'>
alert(<% = yourvar%>);
</script>

 

11.有沒有辦法保護自己的源代碼,不給人看到
答:可以去下載一個微軟的Windows script Encoder,它可以對asp的腳本和客戶端javascript/vbscript腳本進行加密。。。不過客戶端加密后,只有ie5才能執行,服務器端腳本加密后,只有服務器上安裝有script engine 5(裝一個ie5就有了)才能執行。

 

12.怎樣才能將 query string 從一個 asp 文件傳送到另一個?
答:前者文件加入下句:

<%
Response.Redirect "second.asp?"&Request.ServerVariables(QUERY_STRING)
%>

 

13.global.asa文件總是不起作用?
答:只有web目錄設置為web application, global.asa才有效,並且一個web application的根目錄下 global.asa才有效。IIS4可以使用Internet Service Manager設置application setting 怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼? 你我一起舞共續ASP經典輝煌!--POWERED BY 25175

 

14.怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?
答:Internet Sevices Manager -> 選擇default web site ->右鼠鍵->功能表屬性-〉主目錄-> 應用程序設置(Application Setting)-> 點擊按鈕 配置-> app mapping ->點擊按鈕Add -> executable browse選擇 WINNTSYSTEM32InetSRVASP.DLL EXTENSION 輸入 htm method exclusions 輸入PUT.DELETE 全部確定即可。但是值得注意的是這樣對htm也要由asp.dll處理,效率將降低。

15.如何注冊組件
答:有兩種方法。
第一種方法:手工注冊 DLL 這種方法從IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下來執行,進入到包含有DLL的目錄,並輸入:regsvr32 component_name.dll 例如 c: emp egsvr32 AspEmail.dll 它會把dll的特定資訊注冊入服務器中的注冊表中。然后這個組件就可以在服務器上使用了,但是這個方法有一個缺陷。當使用這種方法注冊完畢組件后,該組件必須要相應的設置NT的匿名帳號有權限執行這個dll。特別是一些組件需要讀取注冊表,所以,這個注冊組件的方法僅僅是使用在服務器上沒有MTS的情況下,要取消注冊這個dll,使用:
regsvr32 /u aspobject.dll example c: emp egsvr32 /u aneiodbc.dll 

第二種方法:使用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) 找到你的.dll文件然后選擇next到完成。
要刪除這個對象,只要選擇它的圖標,然后選擇delete。
附注:特別要注意第二種方法,它是用來調試自己編寫組件的最好方法,而不必每次都需要重新啟動機器了。

 

16. ASP與Access資料庫連接:

<%@ language=VBscript%>
<%
Dim conn, mdbfile
mdbfile = server.mappath("資料庫名稱.mdb")
Set conn = server.CreateObject(adodb.connection)
conn.Open driver = {microsoft access driver (*.mdb)};uid = admin;pwd = 資料庫密碼;dbq = &mdbfile
%>

 

17. ASP與SQL資料庫連接:

<%@ language=VBscript%>
<%
Dim conn
Set conn = server.CreateObject(ADODB.connection)
con.Open PROVIDER = SQLOLEDB;DATA Source = SQL服務器名稱或IP地址;UID = sa;PWD = 資料庫密碼;DATABASE = 資料庫名稱
%>

建立記錄集對象:

<%
Set rs = server.CreateObject(adodb.recordset)
rs.Open "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=conn.excute(sql)

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

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

CREATE TABLE 資料表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )

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

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

 

19. 記錄集對象的方法:

rs.movenext將記錄指針從當前的位置向下移一行
rs.moveprevious將記錄指針從當前的位置向上移一行
rs.movefirst將記錄指針移到資料表第一行
rs.movelast將記錄指針移到資料表最后一行
rs.absoluteposition=N將記錄指針移到資料表第N行
rs.absolutepage=N將記錄指針移到第N頁的第一行
rs.pagesize=N設置每頁為N條記錄
rs.pagecount根據pagesize的設置返回總頁數
rs.recordcount返回記錄總數
rs.bof返回記錄指針是否超出資料表首端,true表示是,false為否
rs.eof返回記錄指針是否超出資料表末端,true表示是,false為否
rs.delete刪除當前記錄,但記錄指針不會向下移動
rs.addnew添加記錄到資料表末端
rs.update更新資料表記錄

---------------------------------------

 

20 Recordset對象方法

Open方法

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)的字符串參數。

CursorType
Recordset對象Open方法的CursorType參數表示將以什麼樣的游標類型啟動資料,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:

常數常數值說明
adOpenForwardOnly0缺省值,啟動一個只能向前移動的游標(ForwardOnly)。
adOpenKeyset1啟動一個Keyset類型的游標。
adOpenDynamic2啟動一個Dynamic類型的游標。
adOpenStatic3啟動一個Static類型的游標。


以上幾個游標類型將直接影響到Recordset對象所有的屬性和方法,以下列表說明他們之間的區別。

Recordset屬性adOpenForwardOnlyadOpenKeysetadOpenDynamicadOpenStatic
AbsolutePage不支持不支持可讀寫可讀寫
AbsolutePosition不支持不支持可讀寫可讀寫
ActiveConnection可讀寫可讀寫可讀寫可讀寫
BOF只讀只讀只讀只讀
Bookmark不支持不支持可讀寫可讀寫
CacheSize可讀寫可讀寫可讀寫可讀寫
CursorLocation可讀寫可讀寫可讀寫可讀寫
CursorType可讀寫可讀寫可讀寫可讀寫
EditMode只讀只讀只讀只讀
EOF只讀只讀只讀只讀
Filter可讀寫可讀寫可讀寫可讀寫
LockType可讀寫可讀寫可讀寫可讀寫
MarshalOptions可讀寫可讀寫可讀寫可讀寫
MaxRecords可讀寫可讀寫可讀寫可讀寫
PageCount不支持不支持只讀只讀
PageSize可讀寫可讀寫可讀寫可讀寫
RecordCount不支持不支持只讀只讀
Source可讀寫可讀寫可讀寫可讀寫
State只讀只讀只讀只讀
Status只讀只讀只讀只讀
AddNew支持支持支持支持
CancelBatch支持支持支持支持
CancelUpdate支持支持支持支持
Clone不支持不支持不支持不支持
Close支持支持支持支持
Delete支持支持支持支持
GetRows支持支持支持支持
Move不支持支持支持支持
MoveFirst支持支持支持支持
MoveLast不支持支持支持支持
MoveNext支持支持支持支持
MovePrevious不支持支持支持支持
NextRecordset支持支持支持支持
Open支持支持支持支持
Requery支持支持支持支持
Resync不支持不支持支持支持
Supports支持支持支持支持
Update支持支持支持支持
UpdateBatch支持支持支持支持

其中NextRecordset方法並不適用於Microsoft Access資料庫。

LockType
Recordset對象Open方法的LockType參數表示要採用的Lock類型,如果忽略這個參數,那麼系統會以Recordset對象的LockType屬性為預設值。LockType參數包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
常數常數值說明
adLockReadOnly1缺省值,Recordset對象以只讀方式啟動,無法運行AddNew、Update及Delete等方法
adLockPrssimistic2當資料源正在更新時,系統會暫時鎖住其他使用者的動作,以保持資料一致性。
adLockOptimistic3當資料源正在更新時,系統並不會鎖住其他使用者的動作,其他使用者可以對資料進行增、刪、改的操作。
adLockBatchOptimistic4當資料源正在更新時,其他使用者必須將CursorLocation屬性改為adUdeClientBatch才能對資料進行增、刪、改的操作。





頂端
本網頁最佳瀏覽模式為:瀏覽器 IE4.0 以上    解析度: 800 x 600
Copyright © 2000-2017 COOLASP All Rights Reserved