青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

elva

ASP入門基礎教程-Recordset 對象

一、Recordset 對象簡述  Recordset 對象表示的是來自基本表或命令執行結果的記錄全集。在任何情況下,該對象所指的當前記錄均為集合內的單條記錄。使用 Recordset 對象可以操作來自提供程序的數據,通過該對象幾乎可以對所有數據進行操作。所有 Recordset 對象均使用記錄(行)和字段(列)進行構造。Recordset 對象實際上是依附于 Connection 對象和 Command 對象之上的。通過建立及開啟一個 Connection 對象,可以與我們關心的數據庫建立連接;通過使用 Command 對象,則可以告訴數據庫我們想要做什么:是插入一條記錄,還是查找符合條件的記錄;通過使用 Recordset 對象,則可以方便自如地操作 Command 對象返回的結果。
   二、創建 Recordset 對象
  要使用 Recordset 對象處理結果,首先必須創建 Recordset 對象實例。其格式如下:
Set RS=Server.CreateObject("adodb.recordset")    三、打開記錄集
RS.Open Source,ActiveConnection,CursorType,LockType,Options   所有的參數都是可選項。Source 為 Command 對象變量名、SQL 語句、表名、存儲過程調用或持久 Rcordset 文件名。
  ActiveConnection 為有效的 Connection 對象變量名或包含 ConnectionString 字符串。
  LockType 指定打開 Recordset 時應使用的鎖定類型。
  Options 指定如何計算 Source 參數或從以前保存 Recordset 的文件中恢復 Recordset。
     四、Recordset 對象的常用屬性
Recordset 對象的常用屬性<表>
屬 性 描   述 / 注 解
ActiveConnection 指定與數據提供者的連接信息,用來指定當前的 Recordset 對象屬于哪個 Connection 對象。
Source 指定 Recordset 對象的數據源,可以是一個 Command 對象名、SQL 語句、數據庫表或存儲過程 。
CoursorType 指定 Recordset 對象所使用的光標類型。
共有 4 種光標類型:   0 一 前滾光標,光標只能向前移動,執行效率高。是 Cursor 的默認值;
  1 一 鍵盤光標,光標可向前或向后移動,Recordset 記錄集同步反映自它創建后其他用戶所作的修改和刪除,但卻不能同步反映自它創建后其他用戶新增加的記錄;
  2 一 動態光標,光標可向前或向后滾動,任何時候 Recordset 記錄集都同步反映其他用戶的任何操作;
  3 一 靜態光標,光標可向前或向后移動,自創建后無法同步反映其他用戶所做的任何操作,它的功能簡單但消耗資源少。
LockType 表示編輯時記錄的鎖定類型。它決定了當不止一個用戶試圖同時改變一個記錄時,Recordset 如何處理數據記錄。
0 一 只讀鎖定,記錄只讀,不能更新 Recordset ,為 LockType 的默認值;   1 一 悲觀鎖定,編輯記錄開始立刻鎖定,直到提交給數據提供者;
  2 一 樂觀鎖定,一次鎖定一條記錄,只有調用 Update 方法提交數據時才鎖定記錄;
  3 一 樂觀的批量更新,允許同時更新多條記錄。
Filter 用來設定一個過濾條件,以便對 Recordset 記錄進行過濾。
CacheSize 表示一個 Recordset 對象在高速緩存中的記錄數。
Maxrecords 執行一個 SQL 查詢時,返回 Recordset 對象的最大記錄數。
Bof 判斷記錄指針是否到了第一條記錄之前。
Eof 判斷記錄指針是否到了最后一條記錄之后。
RecordCount 返回 Recordset 對象的記錄數,(在使用鍵盤光標時,該屬懷返回 的可能是不太準確的數值;一般情況下,并不用這種方法來統計 Recordset 中的記錄數,因為它的性能并不穩定)
Bookmark 書簽標記,用來保存當前記錄的位置。
AbsolutePosition 用來設定 Recordset 對象中當前記錄的順序位置是第幾行記錄。
PageSize 表示 Reccordset 對象的頁面大小(每頁多少條記錄),默認值為10。
PageCount 表示 Recordset 對象的頁面個數。
AbsolutePage 表示當前記錄的頁號。
EditMode 指示當前記錄的編輯狀態,0 一 已被編輯;1 一 已被修改而未提交;2 一 存入數據庫的新記錄 。
Status 對 Recordset 對象進行批量更新后,查詢當前記錄的狀態。
意義描述 意義描述
0 記錄更新成功。 1024 存在記錄鎖定,新記錄未保存。
1 新記錄。 2048 使用樂觀并發事件,未保存。
2 記錄被刪除。 4096 用戶違反完整性規則,記錄未保存。
4 記錄未被刪除。 8192   很待定修改,記錄未保存。
8 記錄未被修改。 16384 與一存儲對象相沖突,記錄未保存。
16 書簽不合法,記錄未保存。 32768 內存不夠,記錄未保存。
64 影響多個記錄,未保存。 65536 用戶沒有中、足夠的權限,未保存。
128 指向一待定插入,記錄未保存。 131072 違反基本數據庫原則,記錄未保存。
256 操作被取消,記錄未保存。 262144 記錄已從數據源刪除。
五、Rcordset 對象的方法

Recordset 對象的方法<表二> 方法 描述 / 格式 / 注解  
Open 打開一個 Recordset 對象。
Rs.Open[Source][,ActiveConnection][,CursorType][,LursorType][,Option]
Rs :為已經建立的 Recordset 對象;
  Source :為可選參數,可以是一個 Command 對象名、SQL 語句、數據庫表或存儲過程; 

  ActiveConnection :定義與數據庫的連接信息;

  CursorType :是Recordset 對象所使用的光標類型;

  LockTypec 是編輯 Recordset 對象記錄時所使用的鎖定類型;

  Option 指示數據提供者如何處理 Source 的內容類型,其參數值及其意義見下表:

  Options值 意義描述
1 表示被執行的字符串包含一個命令文本。
2 表示被執行的字符串包含一個表名。
4 表示被執行的字符串包含一個存儲過程名。
8 沒有指定字符串的內容(這是默認值)


Close 關閉一個 Recordset 對象。 但并不從內存中刪除該對象,只是無法讀取其中的數據,但仍然可以讀取它的屬性。因此一個關閉的 Recordset 對象還可以用 Open 方法打開并保持其原有屬性。  
Rs.Close
Rs:為已經建立的 Recordset 對象;如果正進行編輯更新數據的操作,則在使用此方法之前必須先調用 Update 和 CancelUpdate 方法。否則將會出現錯誤。
Clone 創建一個 Recordset 對象的完全拷貝,但只有所用的 Recordset 對象類型允許使用 Bookmarks時才能使用該方法。
MoveFirst 把 Recordset 指針指向第一行記錄。  
Rs.MoveFirst
MoveLast 把 Recordset 指針指向最后一條記錄(該 Recordset 必須支持書簽)。
Rs.MoveLast
MovePrevious 把Recordset 指針上移一行(使用前應判斷 BOF 是否為真,該方法必須支持書簽)。
Rs.MovePreviors
MoveNext 把Recordset 指針下移一行(使用前應判斷 EOF 是否為真)。
Rs.MoveNext
Move 把Recordset 指針指向指定的記錄。
Move n [,start]
n 為要移動的記錄數,取正時表示向前(下)移動,取負時表示向后(上)移動;
  start 是可選參數,表示移動的起點。

GetRows 從一個 Rexordset 對象讀取一行或多行記錄到一個數組中。
Myarray=Rs.GetRows ( rows,start,fields )  
Myarray 為目標數組名;Rs 為已創建的 Recordset 對象,Rows 為返回數組的行數;start 為讀取數據的起點 (書簽);Fields 為 Recordset 的字段。  
NextRecordSet 清除當前的 Recordset 并執行下一條指令,以傳回下一個 Recordset 對象,如果沒有下一條指令,則返回 Nothing 給 Recordset 。
Requery 重新執行 SQL 操作,以更新 Recordset 對象中的數據。
Resync 從數據源更新當前的 Recordset 記錄,實現與數據源的同步。
Addnew 增加一條空記錄。
Rs.AddNew N
增加一條空記錄,并將數組中的元素(N)添加到這條空記錄中。
Delete 刪除當前記錄。
Delete [value]  
如果 value=1(默認值)表示該方法只刪除當前記錄,value=2 表示該方法刪除所有由 Filter 屬性設定的記錄。  
Update 保存當前記錄的任何變動。
Rs.Update
CancelUpdate 取消前一個 Update 方法所做的一切修改。
UpdateBatch Recordset 工作在批量方式時,取消對 Recordset 的更新。
Suports 獲取創建的 Recordset 對象的能力信息。
注:使用 Move 、MoveFirst 、MoveLast 、MovePrevious 、MoveNext 方法移動記錄指針時,需要注意 Rrcordset 對象的光標類型。如“前滾光標”限制了記錄指針只能向前移動。

六、Recordset 對象的應用實例

   1、這是一個簡單的員工基本情況管理系統,其功能有:1)、添加員工資料;2)、更改員工資料;3)、刪除員工資料。它包含著六個頁面和一個數據庫。分別為:

   1)、主頁面:index.asp

   2)、添加數據頁面:add.htm

   3)、保存添加數據頁面:add.asp

   4)、更改數據頁面:Update.asp

   5)、保存更改數據頁面:Update2.asp

   6)、刪除記錄頁面:Detele.asp

   7)、數據庫:RSGL.mdb.用到該數據庫中的”員工基本情況表“。

   2、各頁面的代碼如下:

   1)、主頁面:index.asp。該頁面的功能有:

  a、創建兩個對象,Connectiion對象和Recordset對象,其目的是連接數據庫和返回一個記錄集;

  b、創建一個表格,使do while循環語句將各條記錄在表格中顯示出來;

  c)、創建三個超連接,一個用以連接添加數據頁面,另一個通過指定的員工姓名連接到更改數據頁面,還有一個通過指定的員工姓名連接到刪除頁面。

<% @ Language="VBScript" %>
<html>
<head><title>員工基本情況管理系統</title></head>
<body>
<%
'****************創建兩個對象(連接對象、記錄集對象)*********************
dim cnn,rst
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
'指定連接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="select * from 員工基本情況表"
'rst.Open sSQL,cnn,1,1
set rst=cnn.Execute(sSQL,,adCmdText)
%>
<!--************創建一個表格,用以顯示數據庫中的各條記錄***********-->
<table align="center" border="1">
<caption><h3>教職員工基本情況表</h3></caption>
<tr colspan="5"><td><a href="add.htm">添加記錄</a></td></tr>
<!--顯示各字段名-->
<tr><td align="center">員工姓名</td><td align="center">所在部門</td><td align="center">家庭住址</td><td align="center">家庭電話</td><td align="center">Email</td><td align="center">狀態</td>
<%
'使用do while循環語句將各條記錄顯示出來。
do while Not rst.eof
t1=rst("員工姓名")
t2=rst("所在部門")
t3=rst("家庭住址")
t4=rst("家庭電話")
t5=rst("Email")
tt="<tr align='center'><td>" & t1 & "</td><td>" &t2& "</td><td>" &t3& "</td><td>" &t4& "</td><td>" &t5& "</td><td>"
tt=tt & "<a href=Update.asp?id=" & t1 & ">修改</a><a href=Detele.asp?id=" & t1 & ">||刪除</a></td></tr>"
response.write tt
rst.MoveNext
loop
cnn.Close
Set cnn=Nothing
%>
</table>
</body>
</html>
       2)、添加數據頁面:add.htm 。本頁面由一個表單組成,其功能是向保存添加數據頁面(add.asp)提交數據。
<html>
    <head><title>添加記錄</title></head>
<body>
<div align="center">
<form name="form1" method="post" action="add.asp">
<table align="center" border="1">
<tr><td colspan="2" align="center">員工基本情況表</td></tr>
<tr><td align="right">員工姓名:</td>
<td><input type="text" name="txtName"></td></tr>
<tr><td align="right">所在部門:</td>
<td><input type="text" name="txtDepartment"></td></tr>
<tr><td align="right">家庭住址:</td>
<td><input type="text" name="txtAddr"></td></tr>
<tr><td align="right">家庭電話:</td>
<td><input type="text" name="txtTel"></td></tr>
<tr><td align="right">Email:</td>
<td><input type="text" name="txtemail"></td></tr>
<tr><td align="center"><input type="submit" value="提交"></td>
<td align="center"><input type="reset" value="全部重寫"></td></tr>
</table>
</form>
<a href="index.asp">返回首頁</a>
</div>
</body>
</html>

3)、保存添加數據頁面:add.asp。該頁面的功能有:a)、使用Request對象獲取從add.htm頁面提交的值;b)、創建三個對象(一個連接對象、二個記錄集對象),通過rs.addnew,rs.update兩個函數將數據保存到數據庫;c)、顯示信息提示框。

<% @ Language="VBScript" %>
    <html>
<head>
<title>添加記錄</title>
</head>
<body>
<!-- #include virtual ="/adovbs.inc" -->
<%
'**************使用Request對象獲取從add.htm頁面中提交的值************************************
Name1=Request.Form("txtName")
Department=Request.Form("txtDepartment")
Addr=Request.Form("txtAddr")
Tel=Request.Form("txtTel")
Email=Request.Form("txtEmail")
if Tel="" then
Tel="不祥"
end if
if Email="" then
Email="不祥"
end if
if name1="" or department="" or Addr="" then
%>
<script language="vbscript">
alert("員工姓名、所在部門和家庭住址中只少有一項為空,請填寫完整。")
history.back
</script>
<%
else
'****************創建三個對象(一個連接對象、二個記錄集對象)*********************
dim cnn,rst
set cnn=Server.CreateObject("ADODB.Connection")
'指定連接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
'建立Recordset對象并以追加記錄方式打開數據庫。
set rst=Server.CreateObject("ADODB.Recordset")
set rst1=Server.CreateObject("ADODB.Recordset")
sSQL="select * from 員工基本情況表 where 員工姓名='" & name1 & "'"
rst.Open sSQL,cnn,1,1
if rst.EOF or rst.BOF then '如果數據表中無此數據,則添加記錄。
rst1.Open "員工基本情況表",cnn ,1,2
rst1.addnew array("員工姓名","所在部門","家庭住址","家庭電話","Email"),array(name1,Department,Addr,Tel,Email)
rst1.update
%>
<!--**********顯示信息提示框**************-->
<script language="vbscript">
alert("記錄添加成功!")
window.location.href="index.asp"
</script>
<%
rst1.close
set rst1=nothing
else
%>
<script language="vbscript">
alert("員工姓名為:“<%=name1 %>” 的記錄已經存在。")
history.back
</script>
<%
end if
rst.close
set rst=nothing
end if
%>
<h3>記錄添加成功!</h3>
<p><a href="add.htm">返回記錄添加表單</a> || <a href="index.asp">返回首頁</a>
</center>
</body>
</html>
  4)、更改數據頁面:Update.asp。該頁面的功能有:a、創建兩個對象,Connectiion對象和Recordset對象,其目的是連接數據庫和返回一個記錄集;b、創建一個表單,其目的是提交更改過的數據。

<%
a=request("id")
response.write a
'response.end
'****************創建兩個對象(連接對象、記錄集對象)*********************
dim cnn,rst,cmd
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
'指定連接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="select * from 員工基本情況表 where 員工姓名='" & a & "'"
'rst.Open sSQL,cnn,1,1
set rst=cnn.Execute(sSQL,,adCmdText)
%>
<html>
<head><title>更改記錄</title></head>
<body>
<div align="center">
<!--****************創建一個表單*****************************-->
<form name="form1" method="post" action="Update2.asp">
<table align="center" border="1">
<tr><td colspan="2" align="center">員工基本情況表</td></tr>
<tr><td align="right">員工姓名:</td>
<td><input type="text" name="txtName" value=<%=rst("員工姓名")%> readonly></td></tr>
<tr><td align="right">所在部門:</td>
<td><input type="text" name="txtDepartment" value=<%=rst("所在部門")%>></td></tr>
<tr><td align="right">家庭住址:</td>
<td><input type="text" name="txtAddr" value=<%=rst("家庭住址")%>></td></tr>
<tr><td align="right">家庭電話:</td>
<td><input type="text" name="txtTel" value=<%=rst("家庭電話")%>></td></tr>
<tr><td align="right">Email:</td>
<td><input type="text" name="txtemail" value=<%=rst("Email")%>></td></tr>
<tr><td align="center"><input type="submit" value="提交"></td>
<td align="center"><input type="reset" value="全部重寫"></td></tr>
</table>
</form>
</div>
</body>
</html>

5)、保存更改數據頁面:Update2.asp。 該頁面的功能有:a)、使用Request對象獲取從Update.asp頁面提交的值;b)、創建二個對象(連接對象、記錄集對象);c)、通過表格顯示更改后的記錄。

<% @ Language="VBScript" %>
<%
'*****************從提交表單中提取數值***************************
Dim Name,Department,Addr,Tel,Email
Name=Trim(Request.Form("txtName"))
Department=Trim(Request.Form("txtDepartment"))
Addr=Trim(Request.Form("txtAddr"))
Tel=Trim(Request.Form("txtTel"))
Email=Trim(Request.Form("txtEmail"))
%>
<html>
<head>
<title>更改記錄</title>
</head>
<body>
<!-- #include virtual ="/adovbs.inc" -->
<%
'****************創建二個對象(連接對象、記錄集對象)*********************
dim cnn,rst,cmd
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
'指定連接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="update 員工基本情況表 set 所在部門='" & Department & "',家庭住址='" & Addr & "',家庭電話='" & Tel & "',Email='" & Email & "' where 員工姓名='" & name & "'"
rst.Open sSQL,cnn,1,2
set rst=nothing
%>
<!--**************************用表格顯示記錄。**********************-->
<table align="center" border="1">
<tr><td colspan="2" align="center">員工基本情況表</td></tr>
<tr><td align="right" width="130" align="center">員工姓名:</td>
<td width="200"><%=Name %></td></tr>
<tr><td align="right">所在部門:</td>
<td><%=Department %></td></tr>
<tr><td align="right">家庭住址:</td>
<td><%=Addr %></td></tr>
<tr><td align="right">家庭電話:</td>
<td><%=Tel %></td></tr>
<tr><td align="right">Email:</td>
<td><%=Email %></td></tr>
</table>
<center>
<p><hr width="505" color="#cc9999">
<h3>記錄更改成功!</h3>
<p><a href="index.asp">返回首頁</a>
</center>
</body>
</html>
  6)、刪除數據頁面:Detele.asp。 a)、使用Request對象獲取要刪除的員工姓名;b)、創建二個對象(連接對象、記錄集對象);c)、給出刪除成功提示框。

<% @ Language="VBScript" %>
<%
'從提交表單中提取數值
Dim Name
Name=Trim(Request.Querystring("id"))
%>
<html>
<head>
<title>更改記錄</title>
</head>
<body>
<!-- #include virtual ="/adovbs.inc" -->
<%
'****************創建二個對象(連接對象、記錄集對象)*********************
dim cnn,rst,cmd
set cnn=Server.CreateObject("ADODB.Connection")
set rst=Server.CreateObject("ADODB.Recordset")
'指定連接字符串,
cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("../rsgl.mdb")
cnn.Open
sSQL="delete from 員工基本情況表 where 員工姓名=" & "'" & Name & "'"
rst.Open sSQL,cnn,1,2
set rst=nothing
ifo="員工姓名為:“" & name & "” 的記錄已被您成功的刪除!"
%>
<script languge="vbscript">
alert("<%=ifo %>")
window.location.href="index.asp"
</script>
<p><a href="index.asp">返回記錄添加表單</a>
</center>
</body>
</html>






RS.OPEN SQL,CONN,A,B

A: ADOPENFORWARDONLY(=0) 只讀,且當前數據記錄只能向下移動
ADOPENKEYSET(=1) 可讀寫,當前數據記錄可自由移動
ADOPENDYNAMIC(=2) 可讀寫,當前數據記錄可自由移動,可看到新增記錄
ADOPENSTATIC(=3) 只讀,當前數據記錄可自由移動

B: ADLOCKREADONLY(=1) 缺省鎖定類型,記錄集是只讀的,不能修改記錄
ADLOCKPESSIMISTIC(=2) 悲觀鎖定,當修改記錄時,數據提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開始,則立即鎖住記錄。
ADLOCKOPTIMISTIC(=3) 樂觀鎖定 ,直到用Update方法提交更新記錄時才鎖定記錄。
ADLOCKBATCHOPTIMISTIC(=4) 批量樂觀鎖定,允許修改多個記錄,只有調用UpdateBatch方法后才鎖定記錄。
當不需要改動任何記錄時,應該使用只讀的記錄集,這樣提供者不用做任何檢測。對于一般的使用,樂觀的鎖定可能是最好的選擇,因為記錄只被鎖定一小段時間, 數據在這段時間被更新。這減少了資源的使用。

posted on 2007-07-30 16:15 葉子 閱讀(1362) 評論(0)  編輯 收藏 引用 所屬分類: ASP

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久黄| 欧美一级淫片播放口| 欧美精品一区在线观看| 久热精品在线视频| 美女精品自拍一二三四| 欧美成人精品激情在线观看| 欧美成人r级一区二区三区| 欧美多人爱爱视频网站| 欧美日韩久久久久久| 国产精品扒开腿爽爽爽视频 | 欧美黄免费看| 亚洲国产精品悠悠久久琪琪| 欧美一区二区三区久久精品| 欧美一区二区三区免费观看| 欧美在线看片a免费观看| 欧美综合第一页| 欧美福利视频| 夜夜嗨av一区二区三区四区| 亚洲一区二区三区777| 久久精品国产77777蜜臀| 美国十次成人| 国产精品美女主播| 好看的av在线不卡观看| 日韩亚洲欧美中文三级| 久久不射2019中文字幕| 欧美成年人网站| 一区二区三区高清在线| 久久精品女人的天堂av| 欧美日韩视频专区在线播放 | 99热在线精品观看| 亚洲欧美日韩精品在线| 免费看黄裸体一级大秀欧美| 国产精品久久9| 亚洲第一区在线观看| 亚洲欧美日韩在线综合| 亚洲第一精品夜夜躁人人躁| 亚洲自拍偷拍麻豆| 欧美精品1区2区| 精品1区2区| 欧美中文在线字幕| 一本到12不卡视频在线dvd| 久久亚洲一区二区三区四区| 国产精品视频99| 日韩亚洲欧美高清| 欧美国产在线电影| 久久久免费观看视频| 国产精品视频免费一区| 一区二区国产日产| 欧美激情中文字幕在线| 久久久国产亚洲精品| 国产精品区一区二区三| 在线性视频日韩欧美| 亚洲第一中文字幕| 久久久免费精品视频| 国产欧美日韩一区二区三区在线观看 | 伊人成综合网伊人222| 亚洲一区二区在线视频| 亚洲精品视频免费| 麻豆精品91| 久久精品一区二区三区中文字幕| 欧美三级不卡| 一区二区三区视频免费在线观看| 欧美bbbxxxxx| 看片网站欧美日韩| 在线免费观看成人网| 久久综合一区二区三区| 久久久国产精品一区| 亚洲国产精品一区| 亚洲第一中文字幕| 欧美日韩国产亚洲一区| 在线午夜精品自拍| 日韩一级成人av| 国产精品v欧美精品∨日韩| 亚洲女人天堂av| 午夜电影亚洲| 激情久久影院| 欧美 日韩 国产一区二区在线视频| 久久精品中文字幕一区| 亚洲国产精品悠悠久久琪琪| 欧美高清不卡在线| 欧美日韩www| 午夜精品剧场| 狠狠色狠狠色综合日日tαg | 欧美一级大片在线观看| 欧美视频不卡中文| 亚洲国产一区二区三区a毛片| 韩国一区二区三区在线观看| 在线视频欧美日韩| 99国产一区二区三精品乱码| 久久精品亚洲精品| 亚洲激情综合| 中文在线资源观看网站视频免费不卡| 亚洲黄色在线| 欧美成人在线网站| 亚洲一区二区三区在线看 | 美女任你摸久久| 午夜精品视频在线观看一区二区| 亚洲精品永久免费| 午夜在线精品| 免费亚洲一区二区| 一区二区av| 国产在线欧美日韩| 老司机精品视频网站| 久久精品中文| 亚洲国产精品久久人人爱蜜臀| 麻豆freexxxx性91精品| 亚洲一区二区三区在线视频| 久久精品国产亚洲一区二区| 亚洲美女av黄| 久久精品国产精品亚洲精品| 9i看片成人免费高清| 性亚洲最疯狂xxxx高清| 99视频+国产日韩欧美| 欧美在线视频一区二区| 亚洲午夜激情网站| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲免费中文字幕| 欧美88av| 久久久久一区二区| 国产精品盗摄久久久| 亚洲国产高清一区| 国产日韩欧美视频| 一区二区精品国产| avtt综合网| 欧美1区2区3区| 欧美aaaaaaaa牛牛影院| 国产综合色在线| 亚洲综合三区| 亚洲影院污污.| 欧美日韩精品一本二本三本| 免费在线观看日韩欧美| 狠狠色2019综合网| 欧美一区二区视频免费观看| 亚洲免费在线视频一区 二区| 欧美日韩精品免费看| 亚洲精品欧美在线| 9l国产精品久久久久麻豆| 欧美第一黄色网| 亚洲国产日韩在线一区模特| 亚洲国产精品成人综合色在线婷婷 | 亚洲欧美日韩中文视频| 欧美日韩一二三区| 99国产精品视频免费观看一公开| 在线日韩欧美视频| 久久人人超碰| 欧美ab在线视频| 亚洲精品国产精品乱码不99| 欧美成人中文| 日韩一级不卡| 亚洲欧美国产毛片在线| 国产精品青草久久久久福利99| 亚洲自拍偷拍麻豆| 久久精品国产成人| 一区二区三区在线看| 卡一卡二国产精品| 亚洲另类一区二区| 在线视频日韩| 国产精品成人国产乱一区| 亚洲网站在线播放| 久久久精品免费视频| 精品88久久久久88久久久| 另类春色校园亚洲| 99riav久久精品riav| 欧美一级播放| 在线日韩av永久免费观看| 欧美激情一区在线| 亚洲欧美日韩精品综合在线观看| 你懂的国产精品| 欧美~级网站不卡| 欧美日韩一区在线观看| 亚洲视频综合| 欧美在线亚洲| 亚洲电影视频在线| 欧美日韩中文另类| 午夜亚洲精品| 牛牛国产精品| 亚洲欧美清纯在线制服| 国产性色一区二区| 欧美大片一区二区三区| 亚洲一区欧美二区| 欧美国产激情二区三区| 午夜久久一区| 亚洲美洲欧洲综合国产一区| 国产伦精品一区二区三| 欧美777四色影视在线| 亚洲综合日韩在线| 亚洲毛片网站| 蜜臀久久99精品久久久久久9| 亚洲免费观看高清完整版在线观看| 国产精品视频久久久| 欧美激情视频在线免费观看 欧美视频免费一 | 午夜亚洲性色视频| 亚洲国内欧美| 伊人成年综合电影网| 久久九九免费视频| 亚洲伊人观看| 99re8这里有精品热视频免费| 国产亚洲成av人片在线观看桃| 欧美日本一道本在线视频| 久久亚洲春色中文字幕久久久|