11.有沒有辦法保護自己的原始碼,不給人看到
答:可以去下載一個微軟的Windows s cript Encoder,它可以對asp的指令碼和用戶端javas cript/vbs cript指令碼進行加密。。。不過用戶端加密後,只有ie5才能執行,伺服器端指令碼加密後,只有伺服器上安裝有s cript 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檔案一樣可以執行指令碼代碼?
14.怎樣才能使得htm檔案如同asp檔案一樣可以執行指令碼代碼?
答:Internet Sevices Manager - > 選擇default web site - >右鼠鍵- >菜單屬性-〉主目錄- > 應用程式設定(Application Setting)- > 點擊按鈕 "配置"- > app mapping - >點擊按鈕"Add" - > executable browse選擇 \WINNT\SYSTEM32\INETSRV\ASP.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:\temp\regsvr32 AspEmail.dll 它會把dll的特定資訊註冊入伺服器中的註冊表中。然後這個組件就可以在伺服器上使用了,但是這個方法有一個缺陷。當使用這種方法註冊完畢組件後,該組件必須要相應的設定NT的匿名帳號有許可權執行這個dll。特別是一些組件需要讀取註冊表,所以,這個註冊組件的方法僅僅是使用在伺服器上沒有MTS的情況下,要取消註冊這個dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /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=VBs cript%>
<%
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=VBs cript%>
<%
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,218. 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 更新資料表記錄
來源:51js.com