日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLCLR系列文章

發布時間:2023/11/30 数据库 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLCLR系列文章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQLCLR(一)入門

SQL Server 2005發布后,可以編寫出能夠在SQL Server中運行的.net代碼了。同IIS一樣,SQL Server 2005也是.net程序的宿主。
首先安裝sqlserver2005和visual studio 2005。啟用sqlserver2005的clr ,應先在sqlsever的查詢分析器按實際情況執行下邊的語句

exec?sp_configure?'clr?enabled'--查看狀態
exec?sp_configure?'clr?enabled',1--1,啟用clr\0,禁用clr
reconfigure?with?override--按提示(配置選項?'clr?enabled'?已從?0?更改為?1。請運行?RECONFIGURE?語句進行安裝。)運行此句

快速開發的方法莫過于直接使用visual studio 2005。

第一步,打vs新建項目類型-數據庫-SQL Server項目。
第二步,數據庫引用連接。如果沒有可選連接,可以添加新連接。

點添加新引用按鈕,添加新的連接。

第三步,現在可以添加用戶自定義類型(UDT)、存儲過程、用戶自定義函數、聚合和觸發器中的任意一種了。
?
現在動手做一個小的自定義函數的例子。
添加一個"用戶定義的函數(F)",

using?System;
using?System.Data;
using?System.Data.SqlClient;
using?System.Data.SqlTypes;
using?Microsoft.SqlServer.Server;

public?partial?class?UserDefinedFunctions
{
????[Microsoft.SqlServer.Server.SqlFunction]
????
public?static?SqlString?TestFunction(string?input)
????
{
????????
//?在此處放置代碼
????????return?"hello,"?+?input;
????}

}
;

項目右鍵-部署,狀態欄顯示部署成功后,在sqlserver2005 查詢分析器選擇對應的數據庫執行下面的語句。

SELECT?[dbo].[TestFunction]?('david?fan')

結果如下

SQLCLR(二)存儲過程和自定義函數

自定義函數和存儲過程在.net里其實都是方法。只是方法上方標注[Microsoft.SqlServer.Server.SqlProcedure]
和[Microsoft.SqlServer.Server.SqlFunction]不同而已。自定義函數又分TVF函數和Scalar兩種,最大區別在于TVF返回表后者返回Scalar(標量),這一篇我們做一下比較。
先看兩段代碼
存儲過程:
using?System;
using?System.Data;
using?System.Data.SqlClient;
using?System.Data.SqlTypes;
using?Microsoft.SqlServer.Server;


public?partial?class?StoredProcedures
{
????
//這里是告訴sqlserver,這個方法要注冊成存儲過程
????
//我感覺[Attribute]這個東西翻譯成標簽更形像:)
????[Microsoft.SqlServer.Server.SqlProcedure]
????
public?static?void?TestStoredProcedure(string?name,?ref?string?outstr)
????
{
????????
//?在此處放置代碼
????????outstr?=?"hello,"?+?name;

????????
using?(SqlConnection?cn?=?new?SqlConnection())
????????
{
????????????
//使用上下文鏈接也就是當前數據庫鏈接
????????????cn.ConnectionString?=?"context?connection=true";
????????????
using?(SqlCommand?cmd?=?cn.CreateCommand())
????????????
{
????????????????cmd.CommandText?
=?"Select?*?from?userinfo";
????????????????cn.Open();
????????????????
//SqlContext.Pipe.Send這個方法輸出結果集
????????????????
//接受SqlDataReader,SqlDataRecord和string
????????????????SqlContext.Pipe.Send(cmd.ExecuteReader());
????????????????
//你也可以用下邊這樣
????????????????
//SqlContext.Pipe.ExecuteAndSend(cmd);
????????????}

????????}

????}

}
;
執行存儲過程
DECLARE?@name?nvarchar(4000)
DECLARE?@outstr?nvarchar(4000)
set?@name='david?fan'
--?TODO:?在此處設置參數值。
EXECUTE?[TestProject].[dbo].[TestStoredProcedure]?
???
@name
??,
@outstr?OUTPUT
print?@outstr
結果如下

輸出參數返回值
?
自定義函數
一,TVF函數
示例函數的作用是搜索目錄下的某一類型的文件
using?System;
using?System.Data;
using?System.Data.Sql;
using?System.Data.SqlTypes;
using?Microsoft.SqlServer.Server;
using?System.Collections;
using?System.IO;
using?System.Security.Principal;

public?partial?class?UserDefinedFunctions
{
????
//需要返回一個表時用TVF(streaming?table-valued?function)
????
//可以用select?from?語句查詢這個方法的返回
????
//TVF需要返回Ienumerable接口,例如:Array,這里返回一個數組

????
//FillRowMethodName為填充表行的方法
????
//TableDefinition為表結構,對應FillRowMethodName方法的參數
????[Microsoft.SqlServer.Server.SqlFunction(FillRowMethodName?=?"BuildRow",
?????TableDefinition?
=?"Name?nvarchar(32),?Length?bigint,?Modified?DateTime")]
????
public?static?IEnumerable?FileListCs(string?directoryName,?string?pattern)
????
{
????????FileInfo[]?files;
???????//模擬當前SQL安全上下文
????????WindowsImpersonationContext?OriginalContext=?SqlContext.WindowsIdentity.Impersonate();

????????try
????????
{
????????????DirectoryInfo?di?
=?new?DirectoryInfo(directoryName);
????????????files?
=?di.GetFiles(pattern);
????????}

????????
finally
????????
{
????????????
if?(OriginalContext?!=?null)
????????????
{
????????????????OriginalContext.Undo();
????????????}

????????}

????????
return?files;
????}


????public?static?void?BuildRow(object?Obj,
??????????
ref?SqlString?fileName,
??????????
ref?SqlInt64?fileLength,
??????????
ref?SqlDateTime?fileModified)
????
{
????????
if?(Obj?!=?null)
????????
{
????????????FileInfo?file?
=?(FileInfo)Obj;
????????????fileName?
=?file.Name;
????????????fileLength?
=?file.Length;
????????????fileModified?
=?file.LastWriteTime;
????????}

????????
else
????????
{
????????????fileName?
=?SqlString.Null;
????????????fileLength?
=?SqlInt64.Null;
????????????fileModified?
=?SqlDateTime.Null;
????????}

????}

}
因為這個函數對于sqlserver來講要訪問外部資源,所以需要配置一下項目和sqlserver2005
項目右鍵屬性數據庫,權限級別外部

打開sqlserver2005查詢分析器執行下邊語句 TestProject 為我的數據庫名,你的如果不是,當然需要修改了。
ALTER?DATABASE?TestProject?SET?TRUSTWORTHY?ON;成功后,項目右鍵部署

查詢分析器中執行
SELECT?*?FROM?[TestProject].[dbo].[FileListCs]?(
???
'c:\'
??,
'*.txt')結果如下

二,Scalar 函數
這類函數返回類型如圖,像SqlString這類sqlserver的scalar類型

下面就是這類函數的一個小例子。
using?System;
using?System.Data;
using?System.Data.SqlClient;
using?System.Data.SqlTypes;
using?Microsoft.SqlServer.Server;

public?partial?class?UserDefinedFunctions
{
????[Microsoft.SqlServer.Server.SqlFunction]
????
public?static?SqlString?ScalarFunction()
????
{
????????
//?在此處放置代碼
????????return?new?SqlString("Hello");
????}

}
;sqlserver查詢查詢分析器中運行如下語句
SELECT?[TestProject].[dbo].[ScalarFunction]?()結果如下

SQLCLR(三)觸發器

這一節比較簡單了,主要是講如何在SQLCLR下設計觸發器。在SQLServer2005里分兩種觸發器,DDL和DML兩種觸發器。DDL觸發器是響應CREATE、ALTER 和 DROP 開頭的語句。我們常用的是DML觸發器,這一類觸發器響應當數據庫中發生數據操作包括表或視圖中修改數據的 INSERT 、UPDATE 或 DELETE 。
對于.net來講觸發器也是方法,在上方標注[Microsoft.SqlServer.Server.SqlTrigger]標簽(只我這樣翻譯)。
我們看一個小例子
using?System;
using?System.Data;
using?System.Data.Sql;
using?Microsoft.SqlServer.Server;
using?System.Data.SqlClient;

public?partial?class?Triggers
{
????
//Name觸發器的名字
????
//Target觸發器對應表
????
//Event可以是{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
????[Microsoft.SqlServer.Server.SqlTrigger(Name?=?"NameInfoTrigger",?Target?=?"NameInfo",?Event?=?"FOR?UPDATE")]
????
public?static?void?GetChange()
????
{
????????
using?(SqlConnection?cn?=?new?SqlConnection())
????????
{
????????????cn.ConnectionString?
=?"context?connection=true";
????????????cn.Open();
????????????
using?(SqlCommand?cmd?=?cn.CreateCommand())
????????????
{
????????????????cmd.CommandText?
=?"insert?into?ChangeHistory?select?b.name?+?'->'?+?a.name,getdate()?from?INSERTED?a?JOIN?DELETED?b?ON?a.id?=?b.id";
????????????????SqlContext.Pipe.ExecuteAndSend(cmd);
????????????}

????????}

????}

}


右鍵部署

數據庫里的兩張表

我執行兩條UPDATE語句
update?[NameInfo]?set?[name]='David'?where?id=1
update?[nameinfo]?set?[name]='Fan'?where?id=2結果

再執行兩條 update?[NameInfo]?set?[name]='*David*'?where?id=1
update?[nameinfo]?set?[name]='*Fan*'?where?id=2再看結果
?

SQLCLR(四)用戶定義類型UDT

用戶自定義類型是SQL Server 2005的新特性。和前幾篇文章介紹的SQLCLR相比,UDT相對有此復雜。UDT也有許多限制和必須遵守UDT規范。UDT的二進制不能超過8000個字節,必須包含一個null值表示,因為SQLServer的數據類型是允許null值的。
UDT可以是結構或類。如果是類的話需加[StructLayout(LayoutKind.Sequential)]
標簽(屬性),這是保證序列化時不改變屬性的次序。
現在看一段代碼

using?System;
using?System.IO;
using?System.Data;
using?System.Data.SqlClient;
using?System.Data.SqlTypes;
using?Microsoft.SqlServer.Server;

[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedType(Format.UserDefined,?MaxByteSize?
=?1024)]
public?struct?Person?:?INullable,?IBinarySerialize
{
????
public?override?string?ToString()
????
{
????????
//?用您的代碼替換下列代碼
????????return?FormatU();
????}


????
public?bool?IsNull
????
{
????????
get
????????
{
????????????
//?在此處放置代碼
????????????return?m_Null;
????????}

????}


????
public?static?Person?Null
????
{
????????
get
????????
{
????????????Person?h?
=?new?Person();
????????????h.m_Null?
=?true;
????????????
return?h;
????????}

????}


????
public?static?Person?Parse(SqlString?s)
????
{
????????
if?(s.IsNull)
????????????
return?Null;

????????Person?u?
=?new?Person();
????????
string?value?=?s.Value;
????????
if?(value?==?"null")?return?Null;

????????
string[]?parts?=?value.Split(',');
????????u.name?
=?parts[0];
????????u.age?
=?ParseAge(parts[1]);
????????u.sex?
=?parts[2];
????????
return?u;
????}


????
//?這是占位符方法
????public?string?FormatU()
????
{
????????
//在此處插入方法代碼
????????return?string.Format("名稱:{0},年齡:{1},性別:{2}",?name,?age,?sex);
????}


????
//?這是占位符靜態方法
????public?static?int?ParseAge(string?str)
????
{
????????
//在此處插入方法代碼
????????return?int.Parse(str.Substring(0,?str.LastIndexOf("")));
????}


????
//?這是占位符字段成員
????private?int?age;
????
public?int?Age
????
{
????????
get?{?return?age;?}
????????
set?{?age?=?value;?}
????}


????
private?string?name;
????
public?string?Name
????
{
????????
get?{?return?name;?}
????????
set?{?name?=?value;?}
????}


????
private?string?sex;
????
public?string?Sex
????
{
????????
get?{?return?sex;?}
????????
set?{?sex?=?value;?}
????}


????
//?私有成員
????private?bool?m_Null;
????
public?byte[]?b;

????
public?void?Read(BinaryReader?r)
????
{
????????name?
=?r.ReadString();
????????sex?
=?r.ReadString();
????????age?
=?r.ReadInt32();
????????m_Null?
=?r.ReadBoolean();
????}

????
public?void?Write(BinaryWriter?w)
????
{
????????w.Write(name);
????????w.Write(sex);
????????w.Write(age);
????????w.Write(m_Null);
????}

}




部署后在SQL Server 2005中執行下面的語句
create?table?UdtTest?(Id?int?not?null,?p?Person?not?null)
insert?into?UdtTest?values(1,?'David,24歲,男')
select?id,?convert(nvarchar(25),p)?from?UdtTest
drop?table?UdtTest

結果如下

想看清楚SQLCLR在對UDT處理機制可以將項目附加到SQL Server 2005進程,在相應的方法設置斷點。
?

SQLCLR(五)聚合

SQL Server中的聚合,常用的比如max,count之類。 我們現在也可以在SQLCLR里創建自定義的聚合。Visual Studio 2005中提供的聚合模板是一個結構,標注了[Serializable],[SqlUserDefinedAggregate]標簽,這將讓SQLCLR知道這是一個聚合函數。
看一段代碼,這段代碼來自SQL Server 2005聯機叢書,本來自己想寫一段,但突然公司有些事要做,沒時間了。示例代碼作用是合并同一部書(ID相同)的作者。
using?System;
using?System.Data;
using?Microsoft.SqlServer.Server;
using?System.Data.SqlTypes;
using?System.IO;
using?System.Text;

[Serializable]
[SqlUserDefinedAggregate(
????Format.UserDefined,?
//use?clr?serialization?to?serialize?the?intermediate?result
????IsInvariantToNulls?=?true,?//optimizer?property
????IsInvariantToDuplicates?=?false,?//optimizer?property
????IsInvariantToOrder?=?false,?//optimizer?property
????MaxByteSize?=?8000)?//maximum?size?in?bytes?of?persisted?value
]
public?class?Concatenate?:?IBinarySerialize
{
????
/**////?<summary>
????
///?The?variable?that?holds?the?intermediate?result?of?the?concatenation
????
///?</summary>

????private?StringBuilder?intermediateResult;

????
/**////?<summary>
????
///?Initialize?the?internal?data?structures
????
///?</summary>

????public?void?Init()
????
{
????????
this.intermediateResult?=?new?StringBuilder();
????}


????
/**////?<summary>
????
///?Accumulate?the?next?value,?not?if?the?value?is?null
????
///?</summary>
????
///?<param?name="value"></param>

????public?void?Accumulate(SqlString?value)
????
{
????????
if?(value.IsNull)
????????
{
????????????
return;
????????}


????????
this.intermediateResult.Append(value.Value).Append(',');
????}


????
/**////?<summary>
????
///?Merge?the?partially?computed?aggregate?with?this?aggregate.
????
///?</summary>
????
///?<param?name="other"></param>

????public?void?Merge(Concatenate?other)
????
{
????????
this.intermediateResult.Append(other.intermediateResult);
????}


????
/**////?<summary>
????
///?Called?at?the?end?of?aggregation,?to?return?the?results?of?the?aggregation.
????
///?</summary>
????
///?<returns></returns>

????public?SqlString?Terminate()
????
{
????????
string?output?=?string.Empty;
????????
//delete?the?trailing?comma,?if?any
????????if?(this.intermediateResult?!=?null
????????????
&&?this.intermediateResult.Length?>?0)
????????
{
????????????output?
=?this.intermediateResult.ToString(0,?this.intermediateResult.Length?-?1);
????????}


????????
return?new?SqlString(output);
????}


????
public?void?Read(BinaryReader?r)
????
{
????????intermediateResult?
=?new?StringBuilder(r.ReadString());
????}


????
public?void?Write(BinaryWriter?w)
????
{
????????w.Write(
this.intermediateResult.ToString());
????}

}
這里有幾個比較重要的方法:Terminate,這個方法是聚合最后調用的方法,它返回最后的值。可以是SQL Server的任何標量。;Accumulate,聚合每處理一行數據的時候都會調用一次,并將要處理的數據傳給方法。可以在函數內部進行比如比較,合并之類的處理。;
CREATE?TABLE?BookAuthors
(
???BookID???
int???????NOT?NULL,
???AuthorName????
nvarchar(200)?NOT?NULL
)

INSERT?BookAuthors?VALUES(1,?'Johnson')
INSERT?BookAuthors?VALUES(2,?'Taylor')
INSERT?BookAuthors?VALUES(3,?'Steven')
INSERT?BookAuthors?VALUES(2,?'Mayler')
INSERT?BookAuthors?VALUES(3,?'Roberts')
INSERT?BookAuthors?VALUES(3,?'Michaels')

SELECT?BookID,?dbo.MyAgg(AuthorName)
FROM?BookAuthors
GROUP?BY?BookID
結果如下
BookID Author Names

1

Johnson

2

Taylor, Mayler

3

Roberts, Michaels, Steven


Microsoft SQL Server Management Studio為我們提供了數據庫內對象的集中管理功能,前面幾篇創建的SQLCLR對象,都可以在數據庫的可編程性下相應模塊里找到。

轉載于:https://www.cnblogs.com/doc/archive/2009/02/11/1388513.html

總結

以上是生活随笔為你收集整理的SQLCLR系列文章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚州精品天堂中文字幕 | av免费电影在线观看 | 97在线观看免费高清 | 亚洲aaa级| 欧美日韩在线免费观看 | 欧美国产大片 | 国产1区2区| 久久久久久国产一区二区三区 | 欧美最爽乱淫视频播放 | 999久久国产精品免费观看网站 | 亚洲天天干| 国产一区精品在线 | 96国产精品视频 | 九九在线高清精品视频 | 欧美日韩91 | 亚洲色影爱久久精品 | 丁香六月婷婷激情 | 国产精品一区二区三区四 | 国产999精品视频 | 久久国产亚洲 | 亚洲人成免费 | 麻豆精品91| 亚洲婷婷综合色高清在线 | 欧美色图亚洲图片 | 97在线观看免费观看高清 | 亚洲欧洲av在线 | 欧美成人精品三级在线观看播放 | 激情久久一区二区三区 | 亚洲最新视频在线播放 | 成年人在线观看网站 | 欧美一级特黄aaaaaa大片在线观看 | 日韩网站在线播放 | 五月天中文字幕 | 天天激情在线 | 日韩精品免费一线在线观看 | 天天人人 | 91日韩精品一区 | 亚洲黄色在线播放 | 最近免费观看的电影完整版 | 国产高清不卡在线 | 国产精品99久久99久久久二8 | 久久影院精品 | 精品久久久久久综合 | 久久久www免费电影网 | 日韩大片免费观看 | 青春草免费视频 | 国产日韩欧美精品在线观看 | 少妇性色午夜淫片aaaze | 日韩午夜剧场 | 国产无区一区二区三麻豆 | 国产精品一区二区免费在线观看 | 在线看日韩 | 在线观看韩日电影免费 | 中文字幕电影在线 | 国产成人精品久久亚洲高清不卡 | 国产一级视频在线观看 | 91最新地址永久入口 | 91自拍91 | 国产精品久久久久久久妇 | 久久精品国产成人精品 | 天天射天天干 | 高清不卡毛片 | 美女福利视频在线 | 在线观看精品一区 | 日韩综合视频在线观看 | 美女视频黄免费的 | 亚洲美女免费精品视频在线观看 | 精品久久毛片 | 99久久99视频 | 欧美日韩国产二区三区 | 亚洲综合成人专区片 | 久久久久久久久爱 | 精品久久中文 | 97超碰人人看 | 国产日韩视频在线播放 | 色综合天天色综合 | 国产一级二级视频 | 久久99精品一区二区三区三区 | 在线免费观看黄色 | 91亚洲夫妻| 国产99久久精品 | 日本黄色一级电影 | 9在线观看免费 | 蜜桃麻豆www久久囤产精品 | av电影免费在线看 | 日韩网站视频 | 91精品国产99久久久久久久 | 三级在线视频播放 | 在线观看视频h | 日韩免费电影网 | 91成人在线免费观看 | 深爱五月激情五月 | 99国产视频在线 | 九色视频网址 | 日本精品久久久一区二区三区 | 中文字幕国产精品 | 在线精品视频在线观看高清 | 五月婷婷网站 | 99热在线看 | 制服丝袜亚洲 | 午夜天使 | 丁香花在线观看免费完整版视频 | 中文字幕在线字幕中文 | 国产精品麻豆一区二区三区 | 久久官网| 日韩美女黄色片 | 欧美另类高清 | 日韩免费专区 | 日韩午夜网站 | 91av视频播放 | 天天操天天操天天操天天 | 在线黄色免费 | 国产成人一区二区三区在线观看 | 亚洲 欧美 91 | 天天操天天干天天玩 | 日韩精品一区在线观看 | 久久精品人 | 天天弄天天干 | 美女视频一区 | 久久成人国产精品 | 亚洲综合视频在线播放 | 毛片久久久 | 97超碰免费在线观看 | 午夜精品一区二区国产 | 中文字幕成人一区 | 久久国产精品99久久人人澡 | 中文字幕欧美三区 | 欧美黄色高清 | 国产精品久久久久久久久蜜臀 | 国产又粗又猛又爽又黄的视频免费 | 天天摸天天弄 | 麻豆网站免费观看 | 国产色道 | 免费看毛片网站 | 天天干,天天射,天天操,天天摸 | 国产伦精品一区二区三区在线 | 婷婷资源站 | 五月综合激情 | av看片网址| 干狠狠 | 狠狠干夜夜 | 久久99精品一区二区三区三区 | 国产一区二区在线视频观看 | 成人动漫一区二区三区 | 国产不卡在线观看视频 | 国产午夜三级一区二区三 | 中文字幕av一区二区三区四区 | 日韩精品第一区 | 国产91对白在线播 | 色欧美视频 | 九月婷婷人人澡人人添人人爽 | 一区二区三区四区五区在线视频 | 国产一区二区三精品久久久无广告 | 国内亚洲精品 | 18女毛片| www欧美日韩 | 欧美日韩精品在线一区二区 | 欧美一级艳片视频免费观看 | 日韩免费一级电影 | 福利一区二区三区四区 | 99精品视频免费 | 亚洲成av片人久久久 | 天天射天天艹 | 久久久久久国产精品999 | 久久综合操 | 成人免费网站视频 | 伊人超碰在线 | 亚洲一区二区三区在线看 | 日韩色视频在线观看 | 国产香蕉视频 | 日本二区三区在线 | 久久国产一区二区三区 | 五月婷婷视频 | 婷婷色网视频在线播放 | 日韩高清黄色 | 国产亚洲免费观看 | 国产精品一区二区免费 | 国产欧美日韩精品一区二区免费 | 香蕉视频在线看 | 午夜精品久久久久久久久久久 | 久久国产成人午夜av影院宅 | 中文字幕高清av | 久久精品国产精品亚洲 | 成年人在线看视频 | 中文日韩在线 | 欧美成人视 | 三级黄色网络 | 精品国产aⅴ麻豆 | 免费看一级特黄a大片 | 日韩欧美在线观看一区二区三区 | 国产精品一区二区美女视频免费看 | 可以免费看av | 国产福利电影网址 | 欧美日韩在线视频一区 | 毛片a级片| 在线中文字幕视频 | 三级av中文字幕 | 欧美日韩在线精品一区二区 | 亚洲综合色视频 | 97超碰人人澡 | 国产 成人 久久 | 天堂av在线免费观看 | 亚洲成av人片在线观看www | 日韩va欧美va亚洲va久久 | 国产永久免费 | 黄色av电影网 | 99精品久久精品一区二区 | 久久人人爽人人爽人人片av免费 | 国产破处在线播放 | 91久久国产自产拍夜夜嗨 | 国产女人免费看a级丨片 | 亚洲精品视频在线观看视频 | 欧洲成人免费 | 亚洲最大成人网4388xx | 婷婷综合 | 色婷久久 | 在线观看中文 | 欧美久久九九 | 综合天天久久 | 免费视频久久久久 | 亚洲精品高清一区二区三区四区 | 欧美激情视频在线观看免费 | 国产精品一区二区在线看 | 高清不卡一区二区三区 | 婷婷色5月 | 亚洲综合色丁香婷婷六月图片 | 2019中文最近的2019中文在线 | 日韩性xxxx| 久久久2o19精品 | 欧美成人精品欧美一级乱 | 91精品网站在线观看 | 久久99精品国产麻豆婷婷 | 伊人伊成久久人综合网小说 | 日日夜夜狠狠干 | 狠狠操电影网 | 免费看片在线观看 | 中文字幕免费不卡视频 | 欧美激情视频一区 | 在线性视频日韩欧美 | 亚洲日韩中文字幕在线播放 | se婷婷 | 在线有码中文字幕 | 九九爱免费视频在线观看 | 国产精品久久久久一区二区三区 | 国产一线天在线观看 | 99精品视频免费观看视频 | 在线色资源 | 国产在线观看你懂的 | 国产精品激情 | 欧洲在线免费视频 | 亚洲人人射 | 成人免费观看a | 久久8精品 | 五月婷婷在线观看 | 亚洲综合精品视频 | 国产一线天在线观看 | 国产精品69av | 最近免费观看的电影完整版 | 黄色aa久久| 91免费版成人 | 91免费日韩 | 国产精彩视频 | 精品国产一二区 | 天海冀一区二区三区 | 久久精品人人做人人综合老师 | 亚洲最新视频在线播放 | 国产精品久久久久久久av大片 | 日韩精品不卡在线 | 国产色视频网站 | 去看片 | 国产精品久久久999 国产91九色视频 | 亚洲精品美女在线观看播放 | 精品一区精品二区高清 | 亚洲欧美乱综合图片区小说区 | 国产日韩精品在线 | 久久怡红院 | 久久少妇av| 成年人黄色免费看 | 国产成人不卡 | 网址你懂的在线观看 | 国产精品亚州 | 国产精品成人免费精品自在线观看 | 韩国av一区| 日韩中文字幕91 | 欧美日性视频 | 久久久国产影视 | 色噜噜狠狠狠狠色综合 | 国产视频97 | 97福利在线观看 | 亚洲va欧美| 免费在线观看成人 | 国产成人精品一区二区三区在线观看 | 国产小视频在线看 | 91精品国产高清 | 色天堂在线视频 | 丁香色婷婷 | 97人人射 | 免费视频 三区 | 91污在线观看 | 操操综合| 五月天婷亚洲天综合网精品偷 | 久久综合五月婷婷 | 国产精品麻豆视频 | 国产精品久久嫩一区二区免费 | 肉色欧美久久久久久久免费看 | 久久久网址 | 国产99久久久精品 | 久久国产精品99久久人人澡 | 麻花豆传媒mv在线观看 | 亚洲开心激情 | 91人人揉日日捏人人看 | 日韩精品免费一区二区三区 | 国产精品激情偷乱一区二区∴ | 综合av在线 | 久久色中文字幕 | 久久视频 | 久久久久久久久久久电影 | 欧美激情精品久久久久久免费印度 | 亚洲精品乱码久久 | 国产精品一区二区av | 日本公妇在线观看 | 国产激情电影综合在线看 | 丝袜美女在线观看 | 精品 一区 在线 | 日韩av一区二区三区在线观看 | 国产精品原创av片国产免费 | 久久国产精品久久久 | 久久伦理影院 | 中文日韩在线视频 | 中文字幕中文字幕在线中文字幕三区 | 成 人 免费 黄 色 视频 | 视频在线一区二区三区 | 国产99久久久国产精品免费二区 | 四虎天堂| 中文字幕在线有码 | 色婷婷精品大在线视频 | 日韩高清av | 免费看色的网站 | 日韩av一区二区三区在线观看 | 福利一区二区在线 | 精品二区视频 | 国产成人一区二区三区影院在线 | 成人在线你懂得 | 亚洲一级片在线看 | 91网在线看 | 国产精品久久精品 | 91porny九色91啦中文 | 九七视频在线 | 狠狠色噜噜狠狠狠 | 免费91麻豆精品国产自产在线观看 | 国产精品久久99综合免费观看尤物 | 97精品电影院 | 国产亚洲精品久久久久久久久久 | 欧美视频不卡 | 欧美综合在线视频 | 日韩视频免费播放 | 国内精品久久久精品电影院 | 999成人免费视频 | 欧美激情h | 精品毛片一区二区免费看 | 久久成人国产 | 中文字幕免费 | 国产精品嫩草影院99网站 | 视频在线播放国产 | 日韩中文字幕在线 | 免费三级在线 | 92中文资源在线 | a级国产片 | 91精品婷婷国产综合久久蝌蚪 | 中文av一区二区 | 日本一区二区三区免费观看 | 中文字幕在线观看第三页 | 日本久久高清视频 | 91久久国产自产拍夜夜嗨 | 午夜精品一二区 | 久久久久中文字幕 | 日韩中文三级 | 国内综合精品午夜久久资源 | 国产精品免费久久久久久 | 成年人在线免费看视频 | 久久调教视频 | 黄色福利视频网站 | 亚洲成人精品影院 | 成片免费观看视频 | 国产成人精品一区二 | 日韩在线观看小视频 | 国产做aⅴ在线视频播放 | 中文字幕国产在线 | 欧美一级片免费 | 日韩精品一区二区在线观看视频 | 天堂麻豆 | 成人av免费看 | 天天躁日日 | 亚洲精品在线观看的 | a久久免费视频 | 久久dvd| 久久久国产一区二区 | 综合久久精品 | www.午夜| 久久视频国产精品免费视频在线 | 国产乱码精品一区二区三区介绍 | 少妇搡bbbb搡bbb搡69 | 97在线播放 | 9ⅰ精品久久久久久久久中文字幕 | 香蕉视频最新网址 | 久久精品国产亚洲精品2020 | 九七视频在线观看 | 国产精品久久久久久久久久ktv | 色99导航| 国产精品久久久久久久久久99 | 香蕉在线视频播放网站 | 免费色网| 色a网| 国产拍在线 | 人人爱人人做人人爽 | 国产精品系列在线 | 成片人卡1卡2卡3手机免费看 | 久久黄页 | 黄污网站在线 | av在线播放中文字幕 | 亚洲高清视频在线播放 | 麻豆视频在线播放 | 午夜精品久久久久久久久久 | 开心丁香婷婷深爱五月 | 91精品视频一区二区三区 | 97超碰在线久草超碰在线观看 | 在线高清av| 亚洲国产小视频在线观看 | 美女视频国产 | 日韩视频在线观看免费 | 黄色一级在线免费观看 | 成年人在线观看视频免费 | 婷婷爱五月天 | 亚洲免费视频观看 | 亚洲日本在线一区 | 久久夜夜操 | 免费久久99精品国产 | 91大片网站 | 天天操天天干天天综合网 | av电影在线观看完整版一区二区 | 深爱激情综合网 | av国产网站 | 久久亚洲视频 | 国产999在线 | 激情丁香5月 | 天天操天天摸天天爽 | av一级一片 | 久久久国产精品一区二区中文 | 91精品国产乱码 | 超碰97公开 | 亚洲高清视频在线播放 | 操综合| 一级做a爱片性色毛片www | 天天色天天射天天操 | 久久国产日韩 | 婷婷av资源 | 亚洲视频六区 | 久久天天躁夜夜躁狠狠85麻豆 | 大型av综合网站 | 美女网站免费福利视频 | 欧美国产日韩一区二区三区 | 欧美视频在线观看免费网址 | 婷婷激情五月综合 | 日韩在观看线 | 欧美孕交vivoestv另类 | 久久久久久久久久久久久久av | 久久精彩| 永久精品视频 | 成人在线一区二区三区 | 天天骚夜夜操 | 五月婷婷色丁香 | 色之综合网| 成人免费看片98欧美 | 成人一级电影在线观看 | 久久免费一级片 | 成人av免费在线观看 | 国产高清视频在线观看 | 国产精品99久久久精品免费观看 | 中文字幕三区 | 99久久精品久久久久久清纯 | 欧美激情精品久久久久久免费印度 | 一本大道久久精品懂色aⅴ 五月婷社区 | 亚洲国产精品久久久久久 | 久久精品一区二区三区四区 | 就色干综合| 天天鲁天天干天天射 | www黄色| 超碰公开在线 | 日韩中文字幕电影 | 成人黄色在线看 | 精品久久久久国产免费第一页 | 天天爽夜夜爽人人爽一区二区 | 亚洲免费在线播放视频 | 嫩草av在线 | 国产精品免费人成网站 | 国产资源中文字幕 | 亚洲六月丁香色婷婷综合久久 | 欧美xxxx性xxxxx高清 | 日韩精品一区二区在线观看视频 | 超碰人人干人人 | 丁香视频五月 | 日日干日日 | 97超碰精品 | 一区三区视频 | 国产精品一区二区美女视频免费看 | 免费黄a| 天天天在线综合网 | 色婷婷狠 | 天天干天天射天天插 | 亚洲欧美综合 | 国产一区不卡在线 | av色影院| 日韩欧美高清视频在线观看 | 97超碰在线人人 | 国产精品久久久久久爽爽爽 | 香蕉视频最新网址 | 精品中文字幕在线 | av福利网址导航 | 国产精品丝袜在线 | 日日干天天操 | 成人少妇影院yyyy | 五月天婷亚洲天综合网精品偷 | 日韩在线播放欧美字幕 | aaa免费毛片 | 丁香六月天婷婷 | 日韩成人精品一区二区 | 丰满少妇在线观看网站 | 麻花传媒mv免费观看 | 免费又黄又爽 | 国产精品久久久久永久免费观看 | 99热播精品 | 中文字幕日韩在线播放 | 91刺激视频| 欧美激情另类 | 婷婷网在线 | 在线v片免费观看视频 | 欧美精品亚洲二区 | 91九色蝌蚪国产 | 婷婷九月丁香 | 日本激情视频中文字幕 | 九九热免费在线视频 | av电影免费在线播放 | 欧美国产一区在线 | 在线观看视频日韩 | 在线中文字幕视频 | 久久线视频 | 成人av影院在线观看 | 免费在线视频一区二区 | 久久国产剧场电影 | 亚洲国产精品久久久久婷婷884 | 国产日韩中文字幕 | 一级免费黄色 | 97碰在线| 国产码电影| 深爱激情五月婷婷 | 国产精品24小时在线观看 | 探花视频免费在线观看 | 91插插插免费视频 | 国产成人免费观看久久久 | 人人爱人人爽 | 久久久一本精品99久久精品 | 久久美女免费视频 | 日韩精品欧美一区 | 美女视频免费精品 | av色网站 | 国产午夜在线观看视频 | 狠狠狠狠干 | 国产中文字幕国产 | 色资源网在线观看 | 日韩城人在线 | 精品 激情 | 色婷婷六月天 | 最近更新中文字幕 | 狠狠做深爱婷婷综合一区 | 日韩精品视频第一页 | 国产一级片毛片 | 97超碰在线久草超碰在线观看 | 久草在线视频在线观看 | 一级做a爱片性色毛片www | 免费看片日韩 | 99热国内精品 | 色婷婷视频在线观看 | 毛片3| 日韩欧美一区二区三区视频 | 久草视频免费 | 在线香蕉视频 | 国产人免费人成免费视频 | 婷婷色网站 | av丝袜在线 | 九九热中文字幕 | 中文字幕在线观看播放 | 91人人爱 | 国产精品视频久久 | 免费a一级 | 国产精品区一区 | 精品在线观看一区二区 | 久久激情日本aⅴ | 最新av免费 | 欧美日韩在线视频观看 | 91av大全 | 伊人开心激情 | 丁香五婷| 亚洲成年人免费网站 | 成 人 黄 色 视频免费播放 | 久久国产欧美日韩精品 | 欧美一级xxxx| 成人午夜黄色影院 | 亚洲精品在线一区二区 | 欧美成人h版电影 | 欧美日韩国产二区三区 | 亚洲国产三级在线 | 婷婷综合国产 | 国产手机视频在线 | 国产91全国探花系列在线播放 | 国产看片 色| 精品久久久久国产免费第一页 | 亚洲精品久久久蜜桃直播 | 中文字幕 第二区 | 一级黄色片毛片 | 色婷婷av国产精品 | 欧美一级片在线观看视频 | 国产日韩精品在线观看 | 色婷婷久久一区二区 | 在线观看黄色av | 日韩在线观看一区二区 | 久久久影片| 97色视频在线 | 91精品一区国产高清在线gif | av先锋中文字幕 | 成人一级免费视频 | 成人在线观看资源 | 手机看片国产 | 日韩免费电影在线观看 | 超碰com| 久久久精品欧美 | 中文字幕国语官网在线视频 | 97在线播放视频 | 国产高清福利在线 | 中文字幕色综合网 | 精品爱爱| 日韩欧美视频在线 | 欧美大片在线看免费观看 | 色吊丝av中文字幕 | 91久久精品日日躁夜夜躁国产 | 91成年人视频 | 久久综合狠狠综合久久狠狠色综合 | 在线观看日韩中文字幕 | 色视频在线观看 | 91麻豆精品一区二区三区 | 91中文视频 | 91九色蝌蚪| 婷婷激情综合网 | www.av在线.com| 欧美成年人在线视频 | 91精品一区二区三区蜜桃 | 99久久99久久精品国产片 | 亚洲年轻女教师毛茸茸 | 免费在线观看av | 黄污在线观看 | 欧美性网站 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产成人av片 | 在线观看一级视频 | 久久国产电影 | 美女久久久久久久 | 久久国产精品区 | 亚洲精品黄网站 | 欧美极品一区二区三区 | 在线精品视频免费播放 | 成人精品影视 | 激情五月亚洲 | 日韩电影在线观看一区二区 | 人人爱夜夜操 | 在线视频一二三 | 日本3级在线观看 | 免费高清在线观看电视网站 | 欧美福利在线播放 | 亚洲天堂在线观看完整版 | 成人免费在线网 | 日韩免费在线视频观看 | 亚洲va综合va国产va中文 | 色午夜 | 美女网站视频免费黄 | 蜜臀aⅴ国产精品久久久国产 | 国产无限资源在线观看 | 国产一级高清 | 欧美做受高潮电影o | 国产无吗一区二区三区在线欢 | av看片在线 | 激情伊人五月天久久综合 | 日韩精品你懂的 | 黄色免费在线视频 | 精品国内自产拍在线观看视频 | 国产日产精品久久久久快鸭 | 免费中文字幕在线观看 | 欧美精品在线观看一区 | 中文字幕超清在线免费 | 欧美在线资源 | 国产精品久久久久久久久久久久午 | 久久99精品波多结衣一区 | 色婷婷狠狠操 | 精品国产一区二区三区久久久久久 | 在线日韩中文字幕 | 国产伦理精品一区二区 | 免费视频黄色 | 国内精品久久久久影院优 | www在线免费观看 | 亚洲国产成人久久 | 久久久99精品免费观看app | 91精品欧美 | 成人午夜电影免费在线观看 | 天天干com| 久久久www成人免费精品张筱雨 | 亚洲免费视频在线观看 | www.888av| 欧美色噜噜 | 欧美午夜一区二区福利视频 | 国产精品入口a级 | 看国产黄色大片 | 97超碰国产精品女人人人爽 | 久久亚洲区 | wwwwww黄 | 粉嫩av一区二区三区入口 | 91免费看黄色 | 九九九毛片| 成年人黄色免费网站 | 国产精品 视频 | 999视频在线播放 | 国产偷v国产偷∨精品视频 在线草 | 国产视频观看 | 麻豆系列在线观看 | av在线一 | 久久视频国产精品免费视频在线 | 最新中文字幕在线资源 | 亚洲免费精彩视频 | 国产黄色精品网站 | 一本一道久久a久久综合蜜桃 | 人人爽人人澡人人添人人人人 | 九九在线精品视频 | 国内精品视频一区二区三区八戒 | 免费在线观看av | 国产五十路毛片 | 国产69精品久久久久99 | 中文字幕在线观看视频网站 | 伊人天天狠天天添日日拍 | 国产精品激情偷乱一区二区∴ | 国产免费观看高清完整版 | 96国产精品 | 亚洲精品国产自产拍在线观看 | 视频一区在线播放 | 久久精品毛片基地 | 成人毛片一区二区三区 | 麻豆一精品传二传媒短视频 | 久久免费视频播放 | 久久精品久久久久电影 | 国产日韩欧美在线播放 | 五月婷婷六月丁香 | 欧美美女激情18p | 91久久精品一区二区二区 | 激情av一区二区 | 色在线观看网站 | 中文字幕在线播放第一页 | 成人国产精品一区二区 | 91av色| 免费av看片 | 香蕉视频免费在线播放 | 欧美淫aaa免费观看 日韩激情免费视频 | 国产尤物在线 | 激情五月在线 | 成年人视频在线 | 69xxxx欧美 | 久久视频这里有精品 | 日韩一区二区免费播放 | 国产一级二级三级视频 | 日本最新一区二区三区 | 中文字幕在线播出 | 天天操天天爽天天干 | 69av在线视频 | 最近最新中文字幕视频 | 99这里只有久久精品视频 | 日本美女xx | av成人免费在线看 | 91亚洲国产成人久久精品网站 | 日韩伦理片hd | 园产精品久久久久久久7电影 | 欧美精品v国产精品v日韩精品 | 一级黄色a视频 | 国产精品欧美久久久久无广告 | 久久精品久久综合 | 黄色性av | 国产精品一区在线 | 美女视频黄色免费 | 色综合婷婷久久 | 免费观看国产精品视频 | 日本激情动作片免费看 | 国产色妞影院wwwxxx | 色婷婷国产在线 | 一级片观看 | 亚州精品天堂中文字幕 | 久久精品一区二 | 日韩欧美在线观看一区 | 色播亚洲婷婷 | 五月天亚洲综合小说网 | 91九色网站 | 国产福利中文字幕 | 免费看片色 | 天天操夜夜拍 | 东方av在| 亚洲激情 在线 | 在线视频你懂 | 人人草人人做 | 欧美一二三区播放 | 亚洲精品国产区 | 在线观看深夜视频 | 国产一区二区在线影院 | 亚洲高清色综合 | 日韩高清精品免费观看 | 国产日韩精品一区二区三区在线 | 国产日产精品一区二区三区四区的观看方式 | av在线免费在线观看 | 国产一区二区久久 | 国产一级在线观看视频 | 99精品一区二区三区 | 一级黄色片在线观看 | 九九九热视频 | 91精品国产麻豆国产自产影视 | 韩日精品在线观看 | 久久久久久久久久久久影院 | 日本中文字幕一二区观 | 国产一线天在线观看 | 99c视频在线| 日本公乱妇视频 | 国产精品一区二区三区99 | 97人人澡人人添人人爽超碰 | 婷婷丁香六月天 | 亚洲 精品在线视频 | 99色婷婷 | 五月天激情视频 | 伊人色综合久久天天 | 国产成人精品av久久 | 日韩午夜视频在线观看 | 探花系列在线 | 极品久久久 | 在线观看中文av | 久草免费资源 | 国产黄a三级三级 | 成人在线黄色电影 | 在线导航av | 99九九免费视频 | 狠狠色丁香久久婷婷综合丁香 | 久久小视频 | 欧美精品一二三 | 香蕉视频在线看 | 99久热在线精品视频成人一区 | 综合视频在线 | 国产黑丝一区二区 | 日韩mv欧美mv国产精品 | 黄色在线观看污 | 国产精品入口66mio女同 | 米奇四色影视 | 欧美在线日韩在线 | 日韩电影在线观看中文字幕 | 成人午夜免费福利 | 人人舔人人爽 | 91资源在线播放 | 国产在线观看,日本 | 亚洲理论在线 | 不卡视频在线 | 日韩在线不卡av | 999成人 | 精品成人a区在线观看 | 亚洲黄色av网址 | 日韩欧美精品在线观看视频 | 国产亚洲精品久久久网站好莱 | 国产成人精品在线播放 | 午夜日b视频 | 曰韩在线 | 亚洲欧美怡红院 | 国产色综合天天综合网 | 日韩成人免费在线 | 欧美激情视频久久 | 国产精品3 | 久久婷亚洲五月一区天天躁 | 亚洲婷婷在线视频 | 五月婷婷综合激情网 | 免费看毛片网站 | bayu135国产精品视频 | 国产美女在线免费观看 | 精品主播网红福利资源观看 | 久久精品欧美一 | 不卡的av电影| 久久夜色精品国产欧美乱极品 | 国产亚洲资源 | 欧美国产精品一区二区 | 日本中文字幕在线观看 | 中国一区二区视频 | 国产精品ⅴa有声小说 | 精品999在线| 免费a级毛片在线看 | 国产精品网站 | 国产午夜视频在线观看 | 欧美日韩国产色综合一二三四 | 奇米网网址 | 国产在线精| 91av在线播放视频 | 色综合久久久久久中文网 | 久久精品视频在线播放 | 日本精品二区 | 99久久婷婷国产综合亚洲 | 日韩黄色一级电影 | 人人爽人人插 | 久久99视频免费观看 | 91一区啪爱嗯打偷拍欧美 | 超碰免费久久 | www.玖玖玖 | 国产日韩欧美在线观看 | 91福利视频免费 | 曰韩精品 | 国产精品久久久久一区 | 国产精品原创视频 | 在线观看国产日韩 | 蜜臀av夜夜澡人人爽人人 | 99精品视频精品精品视频 | 国产精品久久久久9999吃药 | 国产精品久久久亚洲 | 久久精品久久久久电影 | 香蕉一区| 91麻豆精品国产91久久久久久久久 | 91av在| 免费成人av在线看 | 亚洲精品456在线播放第一页 | 国产精在线 | 91麻豆精品国产91久久久更新时间 | 国产精品免费久久久 | 亚洲欧美国产精品va在线观看 | 在线激情电影 | 草久久影院 | 国产麻豆视频免费观看 | 九九九热 | 国产高清视频在线 | 国产自产高清不卡 | 99精品在线免费视频 | 91九色在线观看 | 九九色视频 | 五月婷av| 99精品成人 | 麻花天美星空视频 | 搡bbbb搡bbb视频 | 夜色成人网 | 日韩av免费一区二区 | 午夜精品福利影院 | 国产精品手机在线观看 | 亚洲精品动漫久久久久 | 伊人婷婷久久 | 91麻豆免费视频 | 亚洲桃花综合 | 丝袜+亚洲+另类+欧美+变态 | 五月综合久久 | 国产精品一区二区三区在线 | 国产成人av电影在线 | 天天干天天插 | 欧美少妇xx | 久久久精品 一区二区三区 国产99视频在线观看 | 日韩成人免费在线电影 | 一级一级一片免费 | 色婷婷久久一区二区 | 久久人人爽人人 | 中文字幕在线观看视频一区 | 一区二区三区电影大全 | 精品国产网址 | 深夜福利视频在线观看 | 久草在在线视频 | 欧美一区二区伦理片 | 日韩欧美视频一区二区三区 | 天天插天天狠 | 久久国产美女视频 | 91精品少妇偷拍99 | 久久综合给合久久狠狠色 | 亚洲精品av中文字幕在线在线 | www.com.黄 | 日韩在线观看视频一区二区三区 | 五月婷av| 免费看的黄网站软件 | 最近中文字幕mv免费高清在线 | 狠狠干夜夜 | 天天干天天碰 | 日韩午夜三级 | 天天艹天天干天天 | 干天天| 日韩视频免费在线观看 | 狠狠狠色丁香综合久久天下网 | 97成人精品视频在线播放 | 国产亚洲字幕 | 成 人 黄 色 片 在线播放 | 99久久精品久久久久久动态片 | 92精品国产成人观看免费 | 成人黄色电影在线 | 欧美有色 |