成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > ASP操作數(shù)據(jù)庫的類

ASP操作數(shù)據(jù)庫的類

熱門標(biāo)簽:外呼線路批發(fā) 創(chuàng)意電話機(jī)器人 地圖標(biāo)注陽江 世界地圖標(biāo)注了哪些城市 石家莊慧營銷外呼系統(tǒng) 武穴地圖標(biāo)注 濟(jì)源電銷外呼系統(tǒng)線路 java外呼系統(tǒng)是什么 梧州市地圖標(biāo)注
今天俺在這裡給大家提供一種數(shù)據(jù)庫操作的思路,這些代碼是俺在長期的ASP應(yīng)用中不斷完成和修正的,也已經(jīng)用它完成了很多項(xiàng)目了,應(yīng)該說直接拿去用是沒有問題的。當(dāng)然本人能力也有限,希望大家一起來討論。


說明:此帖代碼均是VBScript版本。另外最好你對(duì)手寫ASP已經(jīng)有一定的基礎(chǔ)。

先簡單介紹一下俺這個(gè)類的一些特點(diǎn):

可同時(shí)操作多個(gè)不同類型的數(shù)據(jù)庫。
完全不用考慮數(shù)據(jù)類型的差別,再也不用想字符型字段加不加單引號(hào)。
調(diào)用非常簡單,對(duì)數(shù)據(jù)庫的主要操作一般只需要一行代碼。
支持mssql事務(wù)回滾。
可自動(dòng)生成和輸出sql語句方便調(diào)試。
使用方法:

1. 修改clsDbctrl.asp文件中的第1行為你自己的數(shù)據(jù)庫位置(修改方法參考下面的CreatConn函數(shù)說明)。如需連接多個(gè)數(shù)據(jù)庫可自行添加,格式相同。

2. 在你新建的asp文件中包含此asp文件。如:
!--#include file="Inc/clsDbctrl.asp" --> 或者:
!--#include virtual="/Inc/clsDbctrl.asp"-->

3.使用如下代碼應(yīng)用此類:
一個(gè)數(shù)據(jù)庫連接:

%
OpenConn() '打開數(shù)據(jù)庫連接
Dim db : Set db = New DbCtrl '建立對(duì)像
'Your Code Here......
Co(db) : CloseConn() '釋放對(duì)象,關(guān)閉數(shù)據(jù)庫連接
%>

或者(一個(gè)或者多個(gè)數(shù)據(jù)庫連接):

%
Dim db1 : Set db1 = New DbCtrl : db1.dbConn = Oc(a)
Dim db2 : Set db2 = New DbCtrl : db2.dbConn = Oc(b)
'Your Code Here......
Co(db1) : Co(db2)
%>

4.具體操作的例子可以參考各函數(shù)說明內(nèi)的代碼示例。

方法和屬性概覽(詳細(xì)用法及例子在下面):

引用:
CreatConn 生成數(shù)據(jù)庫連接字符串
Oc 建立數(shù)據(jù)庫連接
Co 釋放對(duì)像
OpenConn 打開默認(rèn)數(shù)據(jù)庫連接
CloseConn 關(guān)閉默認(rèn)數(shù)據(jù)庫連接
dbCtrl.dbConn 屬性,獲取要操作的數(shù)據(jù)庫連接,默認(rèn)值為Conn
dbCtrl.dbErr 屬性,只讀,輸出捕獲的錯(cuò)誤信息
dbCtrl.Version 屬性,只讀,程序版本信息
dbCtrl.AutoId 方法,自動(dòng)獲取唯一序列號(hào)
dbCtrl.GetRecord 方法,取得符合條件的紀(jì)錄集
dbCtrl.GetRecordBySql 方法,根據(jù)sql語句取得紀(jì)錄集
dbCtrl.GetRecordDetail 方法,根據(jù)某一條指定紀(jì)錄的詳細(xì)數(shù)據(jù)
dbCtrl.AddRecord 方法,添加一個(gè)新的紀(jì)錄
dbCtrl.UpdateRecord 方法,根據(jù)指定條件更新紀(jì)錄
dbCtrl.DeleteRecord 方法,刪除符合條件的紀(jì)錄
dbCtrl.ReadTable 方法,根據(jù)指定條件獲取某條紀(jì)錄中的其他字段的內(nèi)容
dbCtrl.C 方法,關(guān)閉紀(jì)錄集對(duì)像
dbCtrl.wGetRecord,
dbCtrl.wAddRecord,
dbCtrl.wUpdateRecord,
dbCtrl.wDeleteRecord 這4個(gè)方法是取得相應(yīng)的操作(前面加w)的sql語句


參數(shù)約定:

由于ASP沒有Arguments對(duì)象,不能使用動(dòng)態(tài)參數(shù),所以,在本類的代碼中,使用了Array(數(shù)組)來達(dá)到這一效果。本類中的部分參數(shù)可以使用數(shù)組(參數(shù)說明中有注明),但使用數(shù)組時(shí)應(yīng)參照以下格式:

Array("Field1:Value1", "Field2:True", "Field3:100")

對(duì),有點(diǎn)像json的格式,如果涉及到變量,那就這樣:

Array("Field1:" Value1, "Field2:" Value2, "Field3:" Value3)

可以這樣說,本類中的幾乎所有與數(shù)據(jù)庫字段相關(guān)的內(nèi)容都可以用以上的數(shù)組格式來設(shè)置條件或者是獲取內(nèi)容。而這裡最大的特點(diǎn)就是在使用時(shí)不用去考慮字段的類型,在字段后跟一個(gè)冒號(hào),接著跟上相應(yīng)的值就行了。如果你經(jīng)常手寫ASP程序的話,你很快就會(huì)感受到運(yùn)用這種方式的魅力,除了數(shù)據(jù)類型不用考慮之外,它也很方便隨時(shí)添加和刪除條件。如果你還不明白怎麼用的話沒關(guān)係,下面有很多例子可以說明這個(gè)問題。

要把ASP的數(shù)據(jù)庫操作封裝起來其實(shí)并不難,相信大家以前自己也做過類似的代碼或是借用過其他人的封裝好的代碼。但是就如各位知道的一樣,使用封裝后的代碼一旦出錯(cuò),排錯(cuò)是一個(gè)比較麻煩的事情,一般說來,封裝后操作越簡單的排錯(cuò)也越複雜。俺在寫這些代碼的時(shí)候已經(jīng)盡我所能考慮到如果出錯(cuò)的話如何去排查錯(cuò)誤,在盡可能簡化用戶操作數(shù)據(jù)庫的代碼的同時(shí)可以隨時(shí)輸出sql語句排查錯(cuò)誤。

最后需要說明一點(diǎn),本文所涉及的ASP數(shù)據(jù)庫操作并不適合大型數(shù)據(jù),如你所知,操作大型數(shù)據(jù)最好還是使用存儲(chǔ)過程之類的東東比較好,以后俺會(huì)考慮把對(duì)存儲(chǔ)過程的操作也封裝進(jìn)去。還有一個(gè)效率問題,要追求高效率的話,用ASP還是應(yīng)該考慮COM+等,所以再次聲明,本類適用的對(duì)象是中小型ASP項(xiàng)目。

好了,下面奉上詳細(xì)使用說明:

一.?dāng)?shù)據(jù)庫連接

考慮到大多數(shù)人的使用習(xí)慣,在數(shù)據(jù)庫連接上使用了公共過程,所以需要大家在代碼裡自行修改,如果你已經(jīng)建立了數(shù)據(jù)庫連接,把這幾行注釋掉就行了。代碼中內(nèi)置了MSSql,Access,MySQL,Oracle4種數(shù)據(jù)庫的連接方式,當(dāng)然你也可以自行在源代碼中增加或刪除。修改例如:

Dim a : a = CreatConn(0, "TestData", "localhost", "username", "userpassword")
Dim b : b = CreatConn(1, "Data/%TestDb%.mdb", "", "", "")

說明一下,第1個(gè)參數(shù)可以是字符串。如果是使用Access,則第2個(gè)參數(shù)輸入相對(duì)路徑和絕對(duì)路徑都是可以的,如有密碼也可以在第5個(gè)參數(shù)中輸入,如:

Dim c : c = CreatConn("ACCESS", "E:\MyWeb\Data\%TestDB%.mdb", "", "", "mdbpassword")

相關(guān)函數(shù):

原 型:CreatConn(dbType, strDB, strServer, strUid, strPwd)
功 能:建立數(shù)據(jù)庫連接字符串
返回值:String
參 數(shù):
dbType : Integer or String 連接數(shù)據(jù)庫類型
(0 or "MSSQL") - Microsoft SQL Server
(1 or "ACCESS") - Microsoft Office Access
(2 or "MYSQL") - MySQL Server
(3 or "ORACLE") - oracle Server
strDB : String 數(shù)據(jù)庫名或數(shù)據(jù)庫地址(Access使用絕對(duì)或者相對(duì)路徑均可)
strServer : String 數(shù)據(jù)庫服務(wù)器地址,Access請(qǐng)留空
strUid : String 數(shù)據(jù)庫用戶名,Access請(qǐng)留空
strPwd : String 數(shù)據(jù)庫密碼

原 型:Oc(connStr)
功 能:打開數(shù)據(jù)庫連接
返回值:Object 數(shù)據(jù)庫連接對(duì)像
參 數(shù):
connStr : String 數(shù)據(jù)庫連接字符串,由CreatConn函數(shù)生成

原 型:Co(obj)
功 能:關(guān)閉對(duì)像
參 數(shù):
obj : Object 要關(guān)閉的對(duì)象名稱

原 型:OpenConn
功 能:打開默認(rèn)數(shù)據(jù)庫連接,會(huì)自動(dòng)建立一個(gè)名稱為Conn的連接對(duì)像
參 數(shù):無

原 型:CloseConn
功 能:關(guān)閉名稱為Conn的默認(rèn)數(shù)據(jù)庫連接對(duì)像
參 數(shù):無

二. 數(shù)據(jù)庫操作

下面就是本數(shù)據(jù)庫操作類的函數(shù)功能說明,應(yīng)該算是手冊(cè)了,請(qǐng)多看例子的應(yīng)用。

原 型:dbCtrl.dbConn(objConn)
功 能:獲取數(shù)據(jù)庫連接對(duì)像
參 數(shù):
objConn : Object 已經(jīng)建立的數(shù)據(jù)庫連接對(duì)像
舉 例:
Dim db : Set db = New DbCtrl
db.dbConn = Oc(CreatConn(1,"E:\WebSite\MySite\Data\%TestDb%.mdb","","",""))
Co(db)

說 明:此屬性為可選,如果不指定此屬性則默認(rèn)數(shù)據(jù)連接為頁面上名稱為Conn的數(shù)據(jù)庫連接對(duì)像

原 型:dbCtrl.AutoID(TableName)
功 能:自動(dòng)獲取唯一序列號(hào)(自動(dòng)編號(hào))
返回值:Integer
參 數(shù):
TableName : String 需要獲得唯一序列號(hào)的數(shù)據(jù)表名
舉 例:
Dim newId
newId = db.AutoId("TestTable")
Response.Write(newId)

原 型:dbCtrl.GetRecord(TableName,FieldsList,Condition,OrderField,ShowN)
功 能:取得符合條件的紀(jì)錄集
返回值:Object 紀(jì)錄集對(duì)像
參 數(shù):
TableName : String 表名稱
FieldsList : String 字段名稱,用逗號(hào)隔開,留空則為全部字段
Condition : String or Array 查詢條件,如果是數(shù)組應(yīng)遵循前面的參數(shù)約定
orderField : String 排序方式
ShowN : Integer 獲取紀(jì)錄的數(shù)量,相當(dāng)于sql中的 Select Top N
舉 例:
Dim rs
Set rs = db.GetRecord("TestTable","fId,fName,fAge","fSex='男' And IsActive = 1","fName Asc", 0)
While Not rs.eof
Response.Write ("Name is:" rs(1) " Age is:" rs(2) "br />")
rs.movenext()
Wend
db.C(rs)

對(duì)于以上的例子,用下面的數(shù)組方式指定條件是等價(jià)的:

Set rs = db.wGetRecord("TestTable","fId,fName,fAge", Array("fSex:男","IsActive:1"), "fName Asc", 0)

另外,你可以用下面的語句來查看這個(gè)函數(shù)生成的sql語句:

Response.Write(db.wGetRecord("TestTable","fId,fName,fAge", Array("fSex:男","IsActive:1"), "fName Asc", 0))

如你所見,只需要在原來的函數(shù)前加一個(gè)w即可。

原 型:dbCtrl.GetRecordBySQL(strSelect)
功 能:根據(jù)sql語句取得紀(jì)錄集
返回值:Object 紀(jì)錄集對(duì)像
參 數(shù):
strSelect : String 用于生成記錄集的SQL語句
舉 例:
Dim rs
Set rs = db.GetRecordBySQL("Select a.Id, a.LastName, b.Group From User a InnerJoin Depart b On a.GroupId = b.GroupId")
'Your Code Here ...
db.C(rs)

原 型:dbCtrl.GetRecordDetail(TableName, Condition)
功 能:根據(jù)某一條指定紀(jì)錄的詳細(xì)數(shù)據(jù)
返回值:Object 紀(jì)錄集對(duì)像
參 數(shù):
TableName : String 表名稱
Condition : String or Array 查詢條件,如果是數(shù)組應(yīng)遵循前面的參數(shù)約定
舉 例:
Dim rs, Id
Id = Request.QueryString("id")
Set rs = db.GetRecordDetail("TestTable","Id=" id)
'Your Code here...
db.C(rs)

說 明:就像你已經(jīng)看出來的一樣,這個(gè)最常用在打開某個(gè)詳細(xì)頁面(比如新聞內(nèi)容頁面)

原 型:dbCtrl.AddRecord(TableName, ValueList)
功 能:添加一個(gè)新的紀(jì)錄
返回值:新記錄的Id號(hào)(成功) or 0 (失敗)
參 數(shù):
TableName : String 表名稱
ValueList : Array 插入表的字段和值,只能是數(shù)組且應(yīng)遵循前面的參數(shù)約定
舉 例:
Dim fName, fSex, fWorkYear, fBirth
fName = "王二壇"
fSex = "男"
fWorkYear = 12
fBirth = Cdate("1981-10-23")
Dim result
result = db.AddRecord("TestTable",Array("Name:"fName, "Sex:"fSex, "WorkYear:"fWorkYear, "Birthday:"fBirth, "IsActive:True"))
If result>0 Then
Response.Write("添加記錄成功!此記錄的自動(dòng)編號(hào)Id為" result)
End If

看見了吧,真的不用考慮字段的類型是什麼滴。
如果你想要代碼中的字段和值看得更清楚一點(diǎn),也可以這樣寫,但憑卿之所好:

result = db.AddRecord("TestTable",Array("Name:" fName,_
"Sex:" fSex,_
"WorkYear:" fWorkYear,_
"Birthday:" fBirth,_
"IsActive:True"))

另外,你可以用下面的語句來查看這個(gè)函數(shù)生成的sql語句:

Response.Write(db.wAddRecord("TestTable",Array("Name:"fName, "Sex:"fSex, "WorkYear:"fWorkYear, "Birthday:"fBirth, "IsActive:True")))

說 明:返回的Id值用的是比較笨的方法,并不能保證在并發(fā)數(shù)據(jù)量大的時(shí)候的準(zhǔn)確性,慎用。

原 型:dbCtrl.UpdateRecord(TableName, Condition, ValueList)
功 能:根據(jù)指定條件更新紀(jì)錄
返回值:1 (成功) or 0 (失敗)
參 數(shù):
TableName : String 表名稱
Condition : String or Array 更新條件,如果是數(shù)組應(yīng)遵循前面的參數(shù)約定
ValueList : String or Array 更新的字段及值,如果是數(shù)組應(yīng)遵循前面的參數(shù)約定
舉 例:
Dim fName, fWorkYear
fName = "王三壇"
fWorkYear = 10
Dim result
result = db.UpdateRecord("TestTable", "UId = 1308", Array("Name:"fName, "WorkYear:"fWorkYear))
If result>0 Then
Response.Write("更新數(shù)據(jù)成功!")
End If

另外,你可以用下面的語句來查看這個(gè)函數(shù)生成的sql語句:

Response.Write(db.wUpdateRecord("TestTable", "UId = 1308", Array("Name:"fName, "WorkYear:"fWorkYear)))

原 型:dbCtrl.DeleteRecord(TableName,IDFieldName,IDValues)
功 能:刪除符合條件的紀(jì)錄
返回值:1 (成功) or 0 (失敗)
參 數(shù):
TableName : String 表名稱
IDFieldName : String 表的Id字段的名稱
IDValues : String or Array 刪除條件,可以是由逗號(hào)隔開的多個(gè)Id號(hào),如果是數(shù)組應(yīng)遵循前面的參數(shù)約定
舉 例:
Dim ids, result
ids = Request.Form("selectid") '可以假設(shè)這裡獲取的值是 12, 34, 256, 314 (復(fù)選框提交的值都這樣)
result = db.DeleteRecord("TestTable", "UId", ids)
If result>0 Then
Response.Write("刪除數(shù)據(jù)成功!")
End If

當(dāng)然,你也可以用字符串或者數(shù)組指定其它的條件,比如:

result = db.DeleteRecord("TestTable", "UId", "IsActive = 0 And FirstName = 'Tom'")

另外,你可以用下面的語句來查看這個(gè)函數(shù)生成的sql語句:

Response.Write(db.wDeleteRecord("TestTable", "UId", ids))

原 型:dbCtrl.ReadTable(TableName, Condition, GetFieldNames)
功 能:根據(jù)指定條件獲取某條紀(jì)錄中的其他字段的內(nèi)容
返回值:String (GetFieldNames為單個(gè)字段) or Array (GetFieldNames為多個(gè)字段)
參 數(shù):
TableName : String 表名稱
Condition : String or Array 查詢條件,如果是數(shù)組應(yīng)遵循前面的參數(shù)約定
GetFieldNames : String 單個(gè)字段名或者由逗號(hào)隔開的多個(gè)字段名
舉 例:
Dim uid, result
uid = rs("postid") '假設(shè)這裡是頁面上某個(gè)記錄集中的用戶id值
result = db.ReadTable("UserTable","UId=" uid, "UserName")
Response.Write("發(fā)佈者:" result)

我不得不說,在實(shí)際應(yīng)用中,這個(gè)函數(shù)可能是用得最多的,你上面看到的就是一個(gè)非常常用的例子,從一個(gè)值去獲取另外一個(gè)表中某字段值等于該值的另外一個(gè)字段的值(有點(diǎn)拗口,不過確實(shí)就是這個(gè)意思)。下面的例子將告訴你如何根據(jù)這個(gè)值獲得多個(gè)相應(yīng)的值。

Dim uid, result
uid = rs("postid") '假設(shè)這裡是頁面上某個(gè)記錄集中的用戶id值
result = db.ReadTable("UserTable","UId=" uid, "UserName,UserSex,UserAge")
Response.Write("發(fā)佈者:" result(0) "br /> 性別:" result(1) "br /> 年齡:" result(2))

如你所見,就這麼簡單,輸入多個(gè)字段名稱得到的是一個(gè)數(shù)組。

原 型:dbCtrl.C(objRs)
功 能:關(guān)閉紀(jì)錄集對(duì)像
參 數(shù):
objRs : Object 頁面上的某個(gè)記錄集對(duì)像
舉 例:
Dim rs
Set rs = db.GetRecordDetail("TestTable","Id=123" )
'Your Code here...
db.C(rs)

這個(gè)函數(shù)上面的許多例子都用了,就不多解釋了,它等同于rs.close : set rs = nothing。
clsDbctrl.rar

標(biāo)簽:南寧 甘南 滁州 迪慶 揭陽 淮北 唐山 來賓

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP操作數(shù)據(jù)庫的類》,本文關(guān)鍵詞  ASP,操作,數(shù)據(jù)庫,的,類,ASP,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP操作數(shù)據(jù)庫的類》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP操作數(shù)據(jù)庫的類的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    强行糟蹋人妻hd中文| 久久丫精品久久丫| 在线中文字幕一区二区| 日韩一区精品字幕| 日本在线观看| 亚洲欧洲一区二区福利| 国模视频一区| 91丨国产丨九色丨pron| 九九在线观看免费视频| 天堂av网在线| 欧美成在线视频| 午夜天堂在线视频| 艳妇乳肉豪妇荡乳xxx| 青青草成人影院| 亚洲十八**毛片| 一区二区三区四区在线观看国产日韩| 精品视频一区二区三区四区| 91丨九色丨国产在线| www.xxx国产| 亚洲第一国产精品| 国产日产欧美精品一区二区三区| 国产香蕉视频在线看| 中国丰满熟妇xxxx性| 男人天堂综合| 国产美女无遮挡网站| 欧美色爱综合| 丁香花视频在线观看| 欧美一区二区三区激情| 午夜欧美一区二区三区免费观看| 在线不卡一区二区| 日韩大片在线观看| 欧美影院一区二区三区| 欧美性猛交xxxxbbb| 日韩最新av在线| 国产成人亚洲精品青草天美| 女同视频在线观看| 日批视频免费看| 92久久精品一区二区| 蜜臀久久久久久久| 国产91沈先生在线播放| 成人看片爽爽爽| 成人福利视频在线看| 妞干网在线观看视频| 国产免费人人看| 欧美二区三区| 免费网站在线观看视频| 欧美激情国产精品免费| 国产精品美腿一区在线看| 最新精品国偷自产在线| 一区二区三区精彩视频| 18欧美乱大交hd1984| 国产剧情在线视频| 亚洲天天综合网| 中文字幕av一区二区三区人妻少妇| 国产成人精品一区二区三区视频| 久久xxxx| 久久人人97超碰精品888| 永久免费黄色片| 日本免费在线播放| 久久精品国产成人| 欧美日本三区| 免费精品国产自产拍在| 国产乱码精品一区二区亚洲| 成人免费网站在线看| 国产网站在线| 黄色片在线观看网站| 亚洲人成午夜免电影费观看| 久久99国产精一区二区三区| 丰满人妻熟女aⅴ一区| 国产成人3p视频免费观看| 免费视频网站在线观看入口| 少妇高潮露脸国语对白| 无码av免费一区二区三区试看| 在线精品福利| 国产精品免费精品自在线观看| 亚洲国产视频一区二区三区| 欧美日韩视频在线一区二区观看视频| 高清wwwwxxxx| 一区二区三区福利视频| 欧美在线1区| 国产精品一区免费在线观看| 久久久无码精品亚洲国产| 国产精品视频1区| 国产精品亚洲一区二区三区| 国产精华一区二区三区| 在线观看 亚洲| 日本大片在线观看| 国产不卡一卡2卡三卡4卡5卡在线| 波多野结衣av无码| 91精品国产一区二区在线观看| 日本久久中文字幕| 忘忧草精品久久久久久久高清| 亚洲精品国产精品国自产| 奇米亚洲午夜久久精品| 日韩av在线中文| 色呦呦一区二区| 亚洲成人精品女人久久久| 久久天天躁狠狠躁夜夜av| 日本黄色免费观看| 免费视频最近日韩| 国产精品久久久久久久天堂第1集| 美女一区二区三区| 免费a v网站| 777永久免费网站国产| 精品欧美一区二区三区| 如如影视在线观看经典| 日本人妖在线| 免费极品av一视觉盛宴| 黄色亚洲大片免费在线观看| 午夜影院免费| 亚洲av无码成人精品国产| 国产+人+亚洲| 日本免费福利视频| 夜夜嗨av一区二区三区四区| 国产二区在线播放| 国产999精品久久久影片官网| 日本熟女一区二区| 亚洲一区在线看| 日韩亚洲天堂| 久久se这里有精品| 色综合五月婷婷| 97视频免费在线看| 国产精品你懂的在线| 精品一区二区三区四区| 国产不卡在线观看| 国产 欧美 自拍| 黄色福利视频网站| 九九这里只精品视在线99| www.欧美日本| 久久av资源| 欧美 日韩 激情| 欧美freesextv| 欧美日韩中文在线视频| 亚洲丝袜精品丝袜在线| 免费成人直播| 色婷婷亚洲婷婷| 亚洲欧美中文日韩在线v日本| 国产美女精品视频免费观看| 亚洲影院在线观看| 国产黄色免费视频| 500福利第一精品导航| 国产在线第一页| 波多野吉衣在线视频| 国产伦精品一区二区三区精品| 久久电影视频| 精品免费日产一区一区三区免费| www.色亚洲| 天天看片天天操| 国产成人久久777777| 日本特黄a级片| 国产日韩v精品一区二区| 99re视频在线播放| 免费看污污网站| 国产成人香蕉在线视频网站| 亚洲黄色小视频在线观看| 北条麻妃99精品青青久久| 亚洲精品字幕在线| 亚洲精品一区二区三区在线观看| 欧美人与牲动交xxxxbbbb| 欧美日韩国产系列| 李宗瑞系列合集久久| 久草电影在线| 欧美一区二区视频17c| 日韩欧美一区二区三区四区| 亚洲制服欧美中文字幕中文字幕| 免费人成精品欧美精品| 九色自拍视频在线观看| 久热中文字幕在线精品免费| 巨骚激情综合| 国产精品无码久久久久一区二区| 国产suv精品一区二区883| 欧美做爰性生交视频| 电影午夜精品一区二区三区| 欧美亚洲国产怡红院影院| 日韩高清在线观看| 3d动漫精品啪啪| 在线看中文字幕| 久久男人av资源站| 国产精品视频最多的网站| 2020国产在线视频| 亚洲国产一区二区精品视频| 日本中文在线视频| 日本成人在线视频网站| 亚洲精品第一国产综合野| 国产suv精品一区二区四区视频| 久久综合五月婷婷| 亚洲欧美日产图| 午夜视频在线观看国产| 26uuu亚洲电影| 欧美做爰性生交视频| 伦一区二区三区中文字幕v亚洲| 成人黄色一级视频| 精品国产无码在线| 国产精品三上| 伊人久久大香线蕉无限次| 婷婷久久综合九色综合绿巨人| 每日更新成人在线视频| 亚洲欧美一区二区三| 久久久人人人| 亚洲av成人精品一区二区三区在线播放| 九色一区二区| 成年网在线观看免费观看网址| 影音先锋欧美激情| 在线观看国产日韩| 国产一区二区三区网| 日本老太婆做爰视频| 欧美性猛交xxxx| 热99re久久精品精品免费| 日本精品一区在线观看| 亚洲高清视频中文字幕| 亚洲第一论坛sis| 外国成人毛片| 全部a∨一极品视觉盛宴| 亚洲资源视频| 伊人亚洲精品| 天天影视欧美综合在线观看| 国产免费一区二区三区| 影音先锋可以看的网站| 国产精品每日更新| 丁香激情视频| 亚洲精品免费视频| 亚洲h视频在线观看| 91精品国产欧美一区二区18| 色一情一欲一爱一乱| 男女在线观看视频| 国产精品免费看久久久香蕉| 视频国产在线观看| 日日夜夜精品网站| 亚洲综合五月天| 99久久久久国产精品| 亚洲日本欧美在线| av中文资源在线| 国产高清不卡二三区| 亚洲男人天堂久久| 激情国产在线| 国产精品久久久久久久久久久免费看| 四虎影院在线免费播放| 高潮一区二区三区乱码| 蜜桃视频在线网站| 一本大道久久a久久综合婷婷| 3d蒂法精品啪啪一区二区免费| 日韩在线第二页| 天堂网在线观看在线观看精品| 欧美图片第一页| 久久国产精品黑丝| 青草草在线视频| 欧美在线视频一区二区| 亚洲午夜女主播在线直播| 污污网站免费在线观看| 日韩色淫视频| 国产麻豆免费视频| 亚洲欧美国产中文| 黄网在线观看| 亚洲欧美日韩国产一区二区| 人成福利视频在线观看| 成人免费无遮挡| 欧美不卡一区二区三区| 欧美大胆a人体大胆做受| 怡红院av一区二区三区| 国产成人精品一区| 久久久久成人黄色影片| 啪啪导航网站| 成人性生交大片免费看中文视频| 中文字幕精品亚洲| 国产精品久久久久久久久借妻| 国产精品一国产精品| 四虎精品在线观看| 男女羞羞在线观看| 欧美三级超在线视频| 日韩不卡一二三| 国产综合视频一区二区三区免费| 欧洲性视频在线播放| 国产精品88av| 1区1区3区4区产品乱码芒果精品| 亚色视频在线播放| 最猛黑人系列在线播放| 欧美日韩一区二区欧美激情| 成人福利在线视频| 91精品一久久香蕉国产线看观看| 成人亚洲视频在线观看| 粉嫩高潮美女一区二区三区| 一区二区三区视频免费在线观看| 日韩视频在线观看免费视频| 夜夜亚洲天天久久| 亚洲亚洲一区二区三区| 国产成人小视频在线观看| 亚洲男人天堂久| 亚洲激情视频小说| 日韩高清欧美高清| 波多野结衣在线aⅴ中文字幕不卡| 国模吧无码一区二区三区| 日本高清一二三区| 91黄色免费网站| 一区二区三区在线免费播放| 欧美成人777| 国产精品电影网站| 1024手机在线视频| 女人床在线观看| 色与欲影视天天看综合网| 欧美激情在线免费| 欧美成人全部免费| 成 人 黄 色 小说网站 s色| 久久福利视频导航| 日韩视频在线免费播放| 欧美日韩综合在线免费观看| 亚洲欧美激情视频在线观看一区二区三区| 青青草av免费在线观看| mm1313亚洲国产精品美女| caoporn国产| 国产精品国模在线| 国产日本欧美一区| 同性视频网站免费男| 久久琪琪电影院| 四虎成人精品永久免费av九九| 亚洲黄网在线观看| 欧美日韩黄视频| 免费成人深夜蜜桃视频| 国产麻豆视频一区| 国产乱视频在线观看| 亚洲欧美在线第一页| 精品免费视频一卡2卡三卡4卡不卡| 欧美亚洲激情视频| 亚洲精品福利网站| 亚洲色图久久久| 婷婷色在线视频| 伊人精品在线观看| 精品国产青草久久久久96| 九色在线播放|