一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - 簡單的ASP中經常用到的代碼[推薦]

簡單的ASP中經常用到的代碼[推薦]

2019-10-22 10:11asp代碼網 ASP教程

簡單的ASP中經常用到的代碼,推薦給大家,有需要的朋友可以參考下。

用數據庫語句 

  1.select 語句:命令數據庫引擎從數據庫里返回信息,作為一組記錄。 
  2.insert into 語句:添加一個或多個記錄至一個表。 
  3.update 語句:創建更新查詢來改變基于特定準則的指定表中的字段值。 
  4.delete 語句:創建一個刪除查詢把記錄從 from 子句列出并符合 where 子句的一個或更多的表中清除。 
  5.execute 語句:用于激活 procedure(過程) 

用 asp 來做一個自己的通訊錄練練手吧…… 

一、建立數據庫: 

  用 microsoft access 建立一個名為 data.mdb 的空數據庫,使用設計器創建一個新表。輸入以下幾個字段: 

  字段名稱  數據類型  說明      其它 
  id     自動編號  數據標識    字段大小:長整型 新值:遞增 索引:有(無重復) 
  username  文本    姓名      缺省值 
  usermail  文本    e-mail     缺省值 
  view    數字    查看次數    字段大小:長整型 默認值:0 索引:無 
  indate   時間日期  加入時間    缺省值 

  保存為 data.mdb 文件,為了便于說明,只是做了一個比較簡單的庫。 

二、連接數據庫 

  方*1: 
  set conn = server.createobject("adodb.connection" 
  conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb" 

  方*2: 
  set conn = server.createobject("adodb.connection" 
  conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("data.mdb":'( 

  注意:一個頁面中,只要連接一次就可以了,數據庫使用完后要及時關閉連接。 
  conn.close 
  set conn = nothing 

三、添加新記錄到數據庫 

  set conn = server.createobject("adodb.connection":'( 
  conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb":'( 

  username = "風云突變" 
  usermail = "[email protected]
  indate = now() 

  sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')" 
  conn.execute(sql) 

  conn.close 
  set conn = nothing 

  說明:建立數據庫連接;通過表單獲取姓名、e-mail 字符串,now()獲取當前時間日期;使用 insert into 語句添加新記錄;conn.execute 來執行;最后關閉。 

四、選擇數據庫里的記錄 

  1.選擇所有記錄的字段(按記錄倒序排序):sql = "select * from data order by id desc" 
  2.選擇所有記錄的姓名和e-mail字段(不排序):sql = "select username,usermail from data" 
  3.選擇姓名為“風云突變”的所有記錄:sql = "select * from data where username='"風云突變"'" 
  4.選擇使用 163 信箱的所有記錄(按查看次數排序):sql = "select * from data where usermail like '%"@163.com"%' order by view desc" 
  5.選擇最新的10個記錄:sql = "select top 10 * from data order by id desc" 

  sql 語句已經知道了,不過在web應用時,還得創建一個 recordset 對象得到記錄集,才能把從數據庫里取出的值應用在網頁上,如果現在將所有的記錄顯示在網頁上就這樣: 

  set conn = server.createobject("adodb.connection":'( 
  conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb":'( 

  sql = "select * from data" 
  set rs = server.createobject("adodb.recordset":'( 
  rs.open sql,conn,1,1 

  do while not rs.eof 
    response.write "<p>姓名:"& rs("username":'( &" e-mail:"& rs("usermail") &" 查看:"& rs("view") &"次 "& rs("indate") &"加入</p>" 
    rs.movenext 
  loop 

  rs.close 
  set rs = nothing 
  conn.close 
  set conn = nothing 

  說明:建立數據庫連接;創建 rs 得到記錄集;循環顯示記錄,rs.eof 表示記錄末,rs.movenext 表示移到下一個記錄;最后關閉。 

五、修改(更新)數據庫記錄 

  修改記錄的e-mail: 

  set conn = server.createobject("adodb.connection") 
  conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb") 

  id = 1 
  usermail = "[email protected]

  sql = "update data set usermail='"&usermail&"' where id="&cint(id) 
  conn.execute(sql) 

  conn.close 
  set conn = nothing 

  說明:建立數據庫連接;獲取記錄id、新 e-mail 字符串;使用 update 語句修改記錄;conn.execute 來執行;最后關閉。 
  如果使記錄的查看值加1,則:sql = "update data set view=view+1 where id="&cint(id) 

六、刪除數據庫記錄 

  刪除某一條記錄: 

  set conn = server.createobject("adodb.connection") 
  conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb") 

  id = 1 

  sql = "delete from data where id="&cint(id) 
  conn.execute(sql) 

  conn.close 
  set conn = nothing 

  說明:建立數據庫連接;獲取記錄id;使用 delete 語句刪除記錄;conn.execute 來執行;最后關閉。 
  刪除多條記錄為:sql = "delete from data where id in (id1,id2,id3)" 
  刪除所有記錄為:sql = "delete from data" 


1.如何用Asp判斷你的網站的虛擬物理路徑 
答:使用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.如何計算每天的平均反復訪問人數 
答:解決方* 
<% 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 是服務器運行的,如果可以在服務器顯示一個對話框,那么你只好等有人按了確定之后,你的程序才能繼續執行,而一般服務器不會有人守著,所以微軟不得不禁止這個函數,并胡亂告訴你 ( 呵呵) 沒有權限。但是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 文件傳送到另一個? 
答:前者文件加入下句: 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 "ROVIDER=SQLOLEDB;DATA SOURCE=SQL服務器名稱或IP地址;UID=saWD=數據庫密碼;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,分述如下: 
-------------------------------- 
常數 常數值 說明 
-------------------------------- 
adOpenForwardOnly 0 缺省值,啟動一個只能向前移動的游標(Forward Only)。 
adOpenKeyset 1 啟動一個Keyset類型的游標。 
adOpenDynamic 2 啟動一個Dynamic類型的游標。 
adOpenStatic 3 啟動一個Static類型的游標。 
-------------------------------- 
以上幾個游標類型將直接影響到Recordset對象所有的屬性和方*,以下列表說明他們之間的區別。 

-------------------------------- 
Recordset屬性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic 

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等,分述如下: 

-------------------------------- 
常數 常數值 說明 
-------------------------------- 
adLockReadOnly 1 缺省值,Recordset對象以只讀方式啟動,無*運行AddNew、Update及Delete等方* 
adLockPrssimistic 2 當數據源正在更新時,系統會暫時鎖住其他用戶的動作,以保持數據一致性。 
adLockOptimistic 3 當數據源正在更新時,系統并不會鎖住其他用戶的動作,其他用戶可以對數據進行增、刪、改的xx作。 
adLockBatchOptimistic 4 當數據源正在更新時,其他用戶必須將CursorLocation屬性改為adUdeClientBatch才能對數據進行增、刪、改的xx作。

SQL語法 
說明:復制表(只復制結構,源表名:a 新表名:b) 
SQL: select * into b from a where 1<>1 

說明:拷貝表(拷貝數據,源表名:a 目標表名:b) 
SQL: insert into b(a, b, c) select d,e,f from b; 

說明:顯示文章、提交人和最后回復時間 
SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 

說明:外連接查詢(表名1:a 表名2:b) 
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 

說明:日程安排提前五分鐘提醒 
SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5 


說明:兩張關聯表,刪除主表中已經在副表中沒有的信息 
SQL:  
delete from info where not exists ( select * from infobz where info.infid=infobz.infid )  

說明:-- 
SQL:  
SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE 
FROM TABLE1,  
  (SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE 
    FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND 
          FROM TABLE2 
        WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X,  
        (SELECT NUM, UPD_DATE, STOCK_ONHAND 
          FROM TABLE2 
        WHERE TO_CHAR(UPD_DATE,'YYYY/MM') =  
            TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') ¦¦ '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y,  
    WHERE X.NUM = Y.NUM (+) 
      AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B 
WHERE A.NUM = B.NUM 

說明:-- 
SQL:  
select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名稱='"&strdepartmentname&"' and 專業名稱='"&strprofessionname&"' order by 性別,生源地,高考總成績 

說明: 
從數據庫中去一年的各單位電話費統計(電話費定額賀電化肥清單兩個表來源) 
SQL:  
SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS JAN, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS FRI, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS MAR, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS APR, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS MAY, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS JUE, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS JUL, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS AGU, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS SEP, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS OCT, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS NOV, 
    SUM(decode(TO_CHAR(a.telfeedate, 'mm'), ?', a.factration)) AS DEC 
FROM (SELECT a.userper, a.tel, a.standfee, b.telfeedate, b.factration 
    FROM TELFEESTAND a, TELFEE b 
    WHERE a.tel = b.telfax) a 
GROUP BY a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') 

說明:四表聯查問題: 
SQL: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where ..... 

說明:得到表中最小的未使用的ID號 
SQL: 
SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHERE b.HandleID = 1) THEN MIN(HandleID) + 1 ELSE 1 END) as HandleID 
FROM Handle 
WHERE NOT HandleID IN (SELECT a.HandleID - 1 FROM Handle a)

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 小向美奈子av | 星星动漫在线观看无删减 | 亚洲天堂视频在线观看免费 | 国产成人理在线观看视频 | 天天澡夜夜澡狠狠澡 | 欧美一级裸片又黄又裸 | 欧美 变态 另类 人妖班 | 亚洲第一色网 | 亚洲 欧美 制服 校园 动漫 | 精品一区二区三区免费视频 | 精选国产AV精选一区二区三区 | 天堂网www在线中文天堂 | 喜欢老头吃我奶躁我的动图 | 亚洲 欧美 中文 日韩欧美 | 人人干国产| 2021国产麻豆剧传媒剧情最新 | 91真人毛片一级在线播放 | 美女扒开腿让男人桶爽免费gif | 手机在线观看精品国产片 | 被老外玩爽的中国美女视频 | s0e一923春菜花在线播放 | 免费国产午夜高清在线视频 | chinese456老人gay china外卖员gay国产xnxx | 日本高清有码视频 | 国产福利一区二区三区 | 青青草原国产一区二区 | www.好吊操| 免费一区在线 | 欧美大陆日韩一区二区三区 | 午夜影院小视频 | 欧美成年黄网站色高清视频 | 四虎影视4hu最新地址在线884 | 成人免费高清视频 | 国产91精选在线观看麻豆 | 男人的天堂久久精品激情a 男人的天堂va | 先锋影音 av| 77久久| 日本剧情片在线播放中文版 | 嗯好爽视频| acg火影忍者熟密姬纲手h |