主頁(yè) > 知識(shí)庫(kù) > ASP編程實(shí)用20例

ASP編程實(shí)用20例

熱門(mén)標(biāo)簽:vue 地圖標(biāo)注拖拽 電話(huà)機(jī)器人案例 成都銷(xiāo)售外呼系統(tǒng)公司 自動(dòng)外呼系統(tǒng)怎么防止封卡 客服外呼系統(tǒng)呼叫中心 電話(huà)機(jī)器人銷(xiāo)售公司嗎 保定電銷(xiāo)機(jī)器人軟件 土地證宗地圖標(biāo)注符號(hào) 鎮(zhèn)江云外呼系統(tǒng)怎么樣

1.如何用Asp判斷你的網(wǎng)站的虛擬物理路徑 
  答:使用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.如何計(jì)算每天的平均反復(fù)訪(fǎng)問(wèn)人數(shù) 
  答:解決方法 
 % startdate=DateDiff(d,Now,01011990) 
if strdate 0 then startdate=startdate-1 
avgvpd=Int((usercnt)startdate) % 
  顯示結(jié)果 
 % response.write(avgvpd) %  
that is it.this page have been viewed since November 10,1998
4.如何顯示隨機(jī)圖象 
 % dim p,ppic,dpic 
ppic=12 
randomize 
p=Int((ppicrnd)+1) 
dpic=graphixrandompicsp.gif 

  顯示 
 img src= %=dpic%  
5.如何回到先前的頁(yè)面 
  答: a href= %=request.serverVariables(Http_REFERER)%  preivous page a 
  或用圖片如:
 img src=arrowback.gif alt= %=request.serverVariables(HTTP_REFERER)%  
6.如何確定對(duì)方的IP地址 
  答: %=Request.serverVariables(REMOTE_ADDR)% 
7.如何鏈結(jié)到一副圖片上 
  答: % @Languages=vbs cript %  
 % response.expires=0 
strimagename=graphixerrorserroriamge.gif 
response.redirect(strimagename) 

8.強(qiáng)迫輸入密碼對(duì)話(huà)框 
  答:把這句話(huà)放載頁(yè)面的開(kāi)頭 
 % response.status=401 not Authorized 
response.end 

9.如何傳遞變量從一頁(yè)到另一頁(yè) 
  答:用 HIDDEN 類(lèi)型來(lái)傳遞變量 
 % 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 程序內(nèi)使用 msgbox,程序出錯(cuò)說(shuō)沒(méi)有權(quán)限 
  答:由于 asp 是服務(wù)器運(yùn)行的,如果可以在服務(wù)器顯示一個(gè)對(duì)話(huà)框,那么你只好等有人按了確定之后,你的程序才能繼續(xù)執(zhí)行,而一般服務(wù)器不會(huì)有人守著,所以微軟不得不禁止這個(gè)函數(shù),并告訴你沒(méi)有權(quán)限。但是ASP和客戶(hù)端腳本結(jié)合倒可以顯示一個(gè)對(duì)話(huà)框,如下 
 % yourVar=測(cè)試對(duì)話(huà)框%  
 % s cript language=''javas cript''  
alert( %=yourvar% ) 
 s cript 
11.有沒(méi)有辦法保護(hù)自己的源代碼,不給人看到 
  答:可以去下載一個(gè)微軟的Windows s cript Encoder,它可以對(duì)asp的腳本和客戶(hù)端javas criptvbs cript腳本進(jìn)行加密。 
12.怎樣才能將 query string 從一個(gè) asp 文件傳送到另一個(gè) 
  答:前者文件加入下句: 
Response.Redirect(second.asp  Request.ServerVariables(QUERY_STRING))
13.global.asa文件總是不起作用 
  答:只有web目錄設(shè)置為web application, global.asa才有效,并且一個(gè)web application的根目錄下 global.asa才有效。IIS可以使用Internet Service Manager設(shè)置application setting 怎樣才能使得htm文件如同asp文件一樣可以執(zhí)行腳本代碼? 
14.怎樣才能使得htm文件如同asp文件一樣可以執(zhí)行腳本代碼
  答:Internet Sevices Manager -  選擇default web site - 右鼠鍵- 菜單屬性-〉主目錄-  應(yīng)用程序設(shè)置(Application Setting)-  點(diǎn)擊按鈕 配置-  app mapping - 點(diǎn)擊按鈕Add -  executable browse選擇 WINNTSYSTEM32INETSRVASP.DLL EXTENSION 輸入 htm method exclusions 輸入PUT.DELETE 全部確定即可。但是值得注意的是這樣對(duì)htm也要由asp.dll處理,效率將降低。 
15.如何注冊(cè)組件 
  答:有兩種方法。
  第一種方法:手工注冊(cè) DLL 這種方法IIs一直使用和其它的Web Server。它需要你在命令行方式下來(lái)執(zhí)行,進(jìn)入到包含有DLL的目錄,并輸入:regsvr32 component_name.dll 例如 ctempregsvr32 AspEmail.dll 它會(huì)把dll的特定信息注冊(cè)入服務(wù)器中的注冊(cè)表中。然后這個(gè)組件就可以在服務(wù)器上使用了,但是這個(gè)方法有一個(gè)缺陷。當(dāng)使用這種方法注冊(cè)完畢組件后,該組件必須要相應(yīng)的設(shè)置NT的匿名帳號(hào)有權(quán)限執(zhí)行這個(gè)dll。特別是一些組件需要讀取注冊(cè)表,所以,這個(gè)注冊(cè)組件的方法僅僅是使用在服務(wù)器上沒(méi)有MTS的情況下,要取消注冊(cè)這個(gè)dll,使用:regsvr32 u aspobject.dll example ctempregsvr32 u aneiodbc.dll 
  第二種方法:使用MTS(Microsoft Transaction Server)MTS允許你指定只有有特權(quán)的用戶(hù)才能夠訪(fǎng)問(wèn)組件,大大提高了網(wǎng)站服務(wù)器上的安全性設(shè)置。在MTS上注冊(cè)組件的步驟如下: 
   1) 打開(kāi)IIS管理控制臺(tái)。 
   2) 展開(kāi)transaction server,右鍵單擊pkgs installed然后選擇new package。 
   3) 單擊create an empty package。 
   4) 給該包命名。 
   5) 指定administrator帳號(hào)或則使用interactive(如果服務(wù)器經(jīng)常是使用administrator 登陸的話(huà))。 
   6) 現(xiàn)在使用右鍵單擊你剛建立的那個(gè)包下面展開(kāi)后的components。選擇 new then component。 
   7) 選擇 install new component [b]。 
   8) 找到你的.dll文件然后選擇next到完成。 
   要?jiǎng)h除這個(gè)對(duì)象,只要選擇它的圖標(biāo),然后選擇delete。 
   附注:特別要注意第二種方法,它是用來(lái)調(diào)試自己編寫(xiě)組件的最好方法,而不必每次都需要重新啟動(dòng)機(jī)器了。

16. ASP與Access數(shù)據(jù)庫(kù)連接: 
%@ language=VBs cript%>

dim conn,mdbfile 
mdbfile=server.mappath("數(shù)據(jù)庫(kù)名稱(chēng).mdb") 
set conn=server.createobject("adodb.connection") 
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=數(shù)據(jù)庫(kù)密碼;dbq="mdbfile 
%>
17. ASP與SQL數(shù)據(jù)庫(kù)連接: 
%@ language=VBs cript%>

dim conn 
set conn=server.createobject("ADODB.connection") 
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務(wù)器名稱(chēng)或IP地址;UID=sa;PWD=數(shù)據(jù)庫(kù)密碼;DATABASE=數(shù)據(jù)庫(kù)名稱(chēng)
%>
  建立記錄集對(duì)象: 
set rs=server.createobject("adodb.recordset") 
rs.open SQL語(yǔ)句,conn,3,2
18. SQL常用命令使用方法: 
  (1) 數(shù)據(jù)記錄篩選: 
sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]" 
sql="select * from 數(shù)據(jù)表 where 字段名 like ''%字段值%'' order by 字段名 [desc]" 
sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]" 
sql="select * from 數(shù)據(jù)表 where 字段名 in (''值1'',''值2'',''值3'')" 
sql="select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2"
  (2) 更新數(shù)據(jù)記錄: 
sql="update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達(dá)式" 
sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達(dá)式"
  (3) 刪除數(shù)據(jù)記錄: 
sql="delete from 數(shù)據(jù)表 where 條件表達(dá)式" 
sql="delete from 數(shù)據(jù)表" (將數(shù)據(jù)表所有記錄刪除)
  (4) 添加數(shù)據(jù)記錄: 
sql="insert into 數(shù)據(jù)表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)" 
sql="insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表" (把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)
  (5) 數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù): 
  AVG(字段名) 得出一個(gè)表格欄平均值 
  COUNT(*|字段名) 對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì) 
  MAX(字段名) 取得一個(gè)表格欄最大的值 
  MIN(字段名) 取得一個(gè)表格欄最小的值 
  SUM(字段名) 把數(shù)據(jù)欄的值相加 
  引用以上函數(shù)的方法: 
sql="select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達(dá)式" 
set rs=conn.excute(sql)
  用 rs("別名") 獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。 
  數(shù)據(jù)表的建立和刪除: 
CREATE TABLE 數(shù)據(jù)表名稱(chēng)(字段1 類(lèi)型1(長(zhǎng)度),字段2 類(lèi)型2(長(zhǎng)度) …… )
  例:
CREATE TABLE tab01(name varchar(50),datetime default now()) 
DROP TABLE 數(shù)據(jù)表名稱(chēng)
  (永久性刪除一個(gè)數(shù)據(jù)表) 
19. 記錄集對(duì)象的方法: 
  rs.movenext 將記錄指針從當(dāng)前的位置向下移一行
  rs.moveprevious 將記錄指針從當(dāng)前的位置向上移一行 
  rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行 
  rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行 
  rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行 
  rs.absolutepage=N 將記錄指針移到第N頁(yè)的第一行 
  rs.pagesize=N 設(shè)置每頁(yè)為N條記錄 
  rs.pagecount 根據(jù) pagesize 的設(shè)置返回總頁(yè)數(shù) 
  rs.recordcount 返回記錄總數(shù) 
  rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否 
  rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否 
  rs.delete 刪除當(dāng)前記錄,但記錄指針不會(huì)向下移動(dòng) 
  rs.addnew 添加記錄到數(shù)據(jù)表末端 
  rs.update 更新數(shù)據(jù)表記錄 
20 Recordset對(duì)象方法 
  Open方法 
recordset.Open Source,ActiveConnection,CursorType,LockType,Options
  Source 
  Recordset對(duì)象可以通過(guò)Source屬性來(lái)連接Command對(duì)象。Source參數(shù)可以是一個(gè)Command對(duì)象名稱(chēng)、一段SQL命令、一個(gè)指定的數(shù)據(jù)表名稱(chēng)或是一個(gè)Stored Procedure。假如省略這個(gè)參數(shù),系統(tǒng)則采用Recordset對(duì)象的Source屬性。 
  ActiveConnection 
  Recordset對(duì)象可以通過(guò)ActiveConnection屬性來(lái)連接Connection對(duì)象。這里的ActiveConnection可以是一個(gè)Connection對(duì)象或是一串包含數(shù)據(jù)庫(kù)連接信息(ConnectionString)的字符串參數(shù)。 
  CursorType 
Recordset對(duì)象Open方法的CursorType參數(shù)表示將以什么樣的游標(biāo)類(lèi)型啟動(dòng)數(shù)據(jù),包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
常數(shù) 常數(shù)值 說(shuō)明
adOpenForwardOnly 0 缺省值,啟動(dòng)一個(gè)只能向前移動(dòng)的游標(biāo)(Forward Only)
adOpenKeyset  1 啟動(dòng)一個(gè)Keyset類(lèi)型的游標(biāo)
adOpenDynamic 2  啟動(dòng)一個(gè)Dynamic類(lèi)型的游標(biāo)
adOpenStatic 3  啟動(dòng)一個(gè)Static類(lèi)型的游標(biāo)

  以上幾個(gè)游標(biāo)類(lèi)型將直接影響到Recordset對(duì)象所有的屬性和方法,以下列表說(shuō)明他們之間的區(qū)別。 
  Recordset屬性
  其中NextRecordset方法并不適用于Microsoft Access數(shù)據(jù)庫(kù)。 
  LockType 
  Recordset對(duì)象Open方法的LockType參數(shù)表示要采用的Lock類(lèi)型,如果忽略這個(gè)參數(shù),那么系統(tǒng)會(huì)以Recordset對(duì)象的LockType屬性為預(yù)設(shè)值。LockType參數(shù)包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下: 
常數(shù) 常數(shù)值 說(shuō)明 
adLockReadOnly 1 缺省值,Recordset對(duì)象以只讀方式啟動(dòng),無(wú)法運(yùn)行AddNew、Update及Delete等方法
adLockPrssimistic 2 當(dāng)數(shù)據(jù)源正在更新時(shí),系統(tǒng)會(huì)暫時(shí)鎖住其他用戶(hù)的動(dòng)作,以保持?jǐn)?shù)據(jù)一致性
adLockOptimistic 3 當(dāng)數(shù)據(jù)源正在更新時(shí),系統(tǒng)并不會(huì)鎖住其他用戶(hù)的動(dòng)作,其他用戶(hù)可以對(duì)數(shù)據(jù)進(jìn)行增、刪、改的操作
adLockBatchOptimistic 4 當(dāng)數(shù)據(jù)源正在更新時(shí),其他用戶(hù)必須將CursorLocation屬性改為adUdeClientBatch才能對(duì)數(shù)據(jù)進(jìn)行增、 刪、改的操作

標(biāo)簽:成都 麗江 天津 重慶 公主嶺 臺(tái)灣 懷化 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP編程實(shí)用20例》,本文關(guān)鍵詞  ASP,編程,實(shí)用,20例,ASP,編程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP編程實(shí)用20例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ASP編程實(shí)用20例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章