狠狠操网,91中文字幕在线观看,精品久久香蕉国产线看观看亚洲,亚洲haose在线观看

ASP編程實例大全

ASP編程實例大全

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

  1.如何用Asp判斷你的網(wǎng)站的虛擬物理路徑

  答:使用Mappath方法

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

  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.如何計算每天的平均反復訪問人數(shù)

  答:解決方法

  <% 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=vbs cript %>

  <% 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 是服務器運行的,如果可以在服務器顯示一個對話框,那么你只好等有人按了確定之后,你的程序才能繼續(xù)執(zhí)行,而一般服務器不會有人守著,所以微軟不得不禁止這個函數(shù),并胡亂告訴你 (:) 呵呵) 沒有權限。但是ASP和客戶端腳本結合倒可以顯示一個對話框,as follows:

  <% yourVar="測試對話框"%>

  <% script language=javas cript>

  alert("<%=yourvar%>")

  </script>

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

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

  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文件一樣可以執(zhí)行腳本代碼?

  14.怎樣才能使得htm文件如同asp文件一樣可以執(zhí)行腳本代碼?

  答: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。它需要你在命令行方式下來執(zhí)行,進入到包含有DLL的目錄,并輸入:regsvr32 component_name.dll 例如 c:tempregsvr32 AspEmail.dll 它會把dll的特定信息注冊入服務器中的注冊表中。然后這個組件就可以在服務器上使用了,但是這個方法有一個缺陷。當使用這種方法注冊完畢組件后,該組件必須要相應的設置NT的匿名帳號有權限執(zhí)行這個dll。特別是一些組件需要讀取注冊表,所以,這個注冊組件的方法僅僅是使用在服務器上沒有MTS的情況下,要取消注冊這個dll,使用:regsvr32 /u aspobject.dll example c:tempregsvr32 /u aneiodbc.dll

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

  1) 打開IIS管理控制臺。

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

  3) 單擊"create an empty package"。

  4) 給該包命名。

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

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

  7) 選擇 "install new component" 。

  8) 找到你的.dll文件然后選擇next到完成。

  要刪除這個對象,只要選擇它的圖標,然后選擇delete。

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

  16. ASP與Access數(shù)據(jù)庫連接:

  <%@ language=VBs cript%>

  <%

  dim conn,mdbfile

  mdbfile=server.mappath("數(shù)據(jù)庫名稱.mdb")

  set conn=server.createobject("adodb.connection")

  conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=數(shù)據(jù)庫密碼;dbq="&mdbfile

  %>

  17. ASP與SQL數(shù)據(jù)庫連接:

  <%@ language=VBs cript%>

  <%

  dim conn

  set conn=server.createobject("ADODB.connection")

  con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務器名稱或IP地址;UID=sa;PWD=數(shù)據(jù)庫密碼;DATABASE=數(shù)據(jù)庫名稱

  %>

  建立記錄集對象:

  set rs=server.createobject("adodb.recordset")

  rs.open SQL語句,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 條件表達式"

  sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式"

  (3) 刪除數(shù)據(jù)記錄:

  sql="delete from 數(shù)據(jù)表 where 條件表達式"

  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 目標數(shù)據(jù)表 select * from 源數(shù)據(jù)表" (把源數(shù)據(jù)表的.記錄添加到目標數(shù)據(jù)表)

  (5) 數(shù)據(jù)記錄統(tǒng)計函數(shù):

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

  COUNT(*|字段名) 對數(shù)據(jù)行數(shù)的統(tǒng)計或對某一欄有值的數(shù)據(jù)行數(shù)統(tǒng)計

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

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

  SUM(字段名) 把數(shù)據(jù)欄的值相加

  引用以上函數(shù)的方法:

  sql="select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達式"

  set rs=conn.excute(sql)

  用 rs("別名") 獲取統(tǒng)的計值,其它函數(shù)運用同上。

  (5) 數(shù)據(jù)表的建立和刪除:

  CREATE TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )

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

  DROP TABLE 數(shù)據(jù)表名稱 (永久性刪除一個數(shù)據(jù)表)

  19. 記錄集對象的方法:

  rs.movenext 將記錄指針從當前的位置向下移一行

  rs.moveprevious 將記錄指針從當前的位置向上移一行

  rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行

  rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行

  rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行

  rs.absolutepage=N 將記錄指針移到第N頁的第一行

  rs.pagesize=N 設置每頁為N條記錄

  rs.pagecount 根據(jù) pagesize 的設置返回總頁數(shù)

  rs.recordcount 返回記錄總數(shù)

  rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否

  rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否

  rs.delete 刪除當前記錄,但記錄指針不會向下移動

  rs.addnew 添加記錄到數(shù)據(jù)表末端

  rs.update 更新數(shù)據(jù)表記錄

  20、 Recordset對象方法

  Open方法

  recordset.Open Source,ActiveConnection,CursorType,LockType,Options

  Source

  Recordset對象可以通過Source屬性來連接Command對象。Source參數(shù)可以是一個Command對象名稱、一段SQL命令、一個指定的數(shù)據(jù)表名稱或是一個Stored Procedure。假如省略這個參數(shù),系統(tǒng)則采用Recordset對象的Source屬性。

  ActiveConnection

  Recordset對象可以通過ActiveConnection屬性來連接Connection對象。這里的ActiveConnection可以是一個Connection對象或是一串包含數(shù)據(jù)庫連接信息(ConnectionString)的字符串參數(shù)。

版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 yyfangchan@163.com (舉報時請帶上具體的網(wǎng)址) 舉報,一經(jīng)查實,本站將立刻刪除