欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

dotConnect for Oracle使用教程:OracleAlerter組件的使用

原創(chuàng)|使用教程|編輯:郝浩|2013-04-24 14:50:48.000|閱讀 381 次

概述:OracleAlerter類是用于DBMS_ALERT包的接口,S_ALERT包支持異步通知數據庫事件(警報)。今天主要的內容就是詳解OracleAlerter組件的使用,主要是由以下的部分組成:Oracle警報基礎、等待警報模式、開始模式。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

相關鏈接:

    OracleAlerter類是用于DBMS_ALERT包的接口,僅僅在專業(yè)版和開發(fā)版中有。DBMS_ALERT包支持異步通知數據庫事件(警報),通過恰當地使用這個包和數據庫觸發(fā)器,一個應用程序可以通知任何其他的應用程序,連接數據庫、登記接受到的報警以及數據庫的任何的改變等。

     今天主要的內容就是詳解OracleAlerter組件的使用,主要是由以下的部分組成:Oracle警報基礎、等待警報模式、開始模式。

Oracle警報基礎

    DBMS_ALERT提供API接口來發(fā)送警報、警報注冊、并等待接收警報。這個解決方案主要采用了信號、寄存器和WAITANY。

  • dbms_alert.signal程序發(fā)出警報信號,當提交事務的時候,這個警報就會提交生效。如果說事務被返回,這個信號就沒有起作用。也會提醒所有的感興趣的會議通知。
  • DBMS_ALERT.REGISTER程序將會允許在警報中注冊。
  • The DBMS_ALERT.WAITANY程序將會等待任何的會話前發(fā)生的警報。

    OracleAlerter 類主要原則如下圖所示:

dotConnect for Oracle使用教程:OracleAlerter組件的使用

    OracleAlerter類支持兩種工作模式,等待警報和開始模式。“等待警報”模式將會等待最近的警報,并將其返回給應用程序。“開始”模式就是啟動一次,當接收到一個警報的時候就會提出一個事件,為了制止這種模式,叫做OracleAlerter 類實例的“停止”方法。

等待模式

     下面的示例就是演示的是OracleAlerter在等待模式的情況:

[C#]

static OracleConnection con = new OracleConnection();

static void Main(string[] args)
{  

  // Initialize and open a connection to the Oracle server.
  // We connect as Sys to have the privilieges to use the DBMS_Alert package.

  con.Server = "ora";
  con.UserId = "sys";
  con.Password = "pwd";
  con.ConnectMode = OracleConnectMode.SysDba;
  con.Open();

  // Execute a script needed to create the database objects used in our sample.
  // These objects are:
  // 1) table "alert_table" with two fields: an integer identification and a char value;
  // 2) trigger "alert_trigger", which initializes the "my_alert" Oracle Alert after each insert to alert_table.

  OracleScript createAll = new OracleScript();
  createAll.Connection = con;
  createAll.ScriptText = @"
  create table scott.alert_table
  (""id"" number(38,0),
   ""value"" varchar2(4000 byte)
  );

  create or replace trigger sys.alert_trigger
    after insert or update on scott.alert_table
    for each row
    begin
      dbms_alert.signal('my_alert', 'A row has been added.');
    end;
  ";           

  createAll.Execute();

  // Now we create an instance of the OracleAlerter class, which is used to retrieve alerts.
  // This instance is registered for the "my_alert" Oracle Alert.           
  // Timeout stands for the time in seconds during which OracleAlerter will be waiting for alerts.

  OracleAlerter alerter = new OracleAlerter();
  alerter.Connection = con;
  alerter.AlertName = "my_alert";
  alerter.Timeout = 10;

  // When waiting for alerts, OracleAlerter expectedly pauses the current thread.
  // Thus, we need another one to generate the alert while OracleAlerter is listening.
  // In the Insert() function, a row is added to alert_table.
  // As it is shown in the createAll script, this insert triggers the "my_alert" Oracle Alert.

  Thread insertThread = new Thread(new ThreadStart(Insert));
  insertThread.Start();           

  // Waits until the "my_alert" alert is received, returns the corresponding OracleAlert object.
  // If it is not during the timeout period, returns null.

  OracleAlert alert = alerter.WaitAlert();

  // Simple output operations to show the alert's content.
  Console.WriteLine("Got an alert: " + ((alert == null) ? "null" : alert.Message));
  Console.Read();

  // Drop table and trigger.
  OracleScript dropAll = new OracleScript();
  dropAll.Connection = con;
  dropAll.ScriptText = @"
  drop trigger sys.alert_trigger;
  drop table scott.alert_table;
  ";
  dropAll.Execute();

  // Close the connection.
  con.Close();
}

// A simple insert command used to trigger the "my_alert" alert.
// We take this command out to use multithreading.

public static void Insert()
{              
   OracleCommand insert = new OracleCommand();
   insert.CommandText = "insert into scott.alert_table values ('10', 'Some text')";
   insert.Connection = con;
   insert.ExecuteNonQuery();

   Console.WriteLine("Inserted a row");
}

[Visual Basic]

Private Shared con As New OracleConnection

Shared Sub Main(ByVal args As String())

    ' Initialize and open a connection to the Oracle server. 
    ' We connect as Sys to have the privilieges to use the DBMS_Alert package.
    con.Server = "ora"
    con.UserId = "sys"
    con.Password = "pwd"
    con.ConnectMode = OracleConnectMode.SysDba
    con.Open
    
    ' Execute a script needed to create the database objects used in our sample.
    ' These objects are:
    ' 1) table "alert_table" with two fields: an integer identification and a char value;
    ' 2) trigger "alert_trigger", which initializes the "my_alert" Oracle Alert after each insert to alert_table.
    
    Dim createAll As New OracleScript
    createAll.Connection = con
    createAll.ScriptText = VbCrlf _
	& "        " _
	 & "create table scott.alert_table " & VbCrlf _
	 & "        (""id"" number(38,0), " & VbCrlf _
	& "   ""value"" varchar2(4000 byte)" & VbCrlf & _
	"                );" & VbCrlf  & VbCrlf _
	& "                create or replace trigger sys.alert_trigger " & VbCrlf & _
	"                    after insert or update on scott.alert_table " & VbCrlf & _
	"                    for each row " & VbCrlf & _
	"                    begin" & VbCrlf _
	& "                        dbms_alert.signal('my_alert', 'A row has been added.');" _
	& VbCrlf & "                    end;" & VbCrlf & "        " 
    createAll.Execute
    
    ' Now we create an instance of the OracleAlerter class, which is used to retrieve alerts.
    ' This instance is registered for the "my_alert" Oracle Alert.            
    ' Timeout stands for the time in seconds during which OracleAlerter will be waiting for alerts.
    
    Dim alerter As New OracleAlerter
    alerter.Connection = con
    alerter.AlertName = "my_alert"
    alerter.Timeout = 10
    
    ' When waiting for alerts, OracleAlerter expectedly pauses the current thread. 
    ' Thus, we need another one to generate the alert while OracleAlerter is listening.
    ' In the Insert() function, a row is added to alert_table. 
    ' As it is shown in the createAll script, this insert triggers the "my_alert" Oracle Alert.
    Dim insertThread As Thread = New Thread(New ThreadStart(insert))
    insertThread.Start()    
    
    ' Waits until the "my_alert" alert is received, returns the corresponding OracleAlert object. 
    ' If it is not during the timeout period, returns null.
    Dim alert As OracleAlert = alerter.WaitAlert
    
    ' Simple output operations to show the alert's content.
    Console.WriteLine(("Got an alert: " & IIf((alert Is Nothing), "null", alert.Message)))
    Console.Read
    
    ' Drop table and trigger.
    Dim dropAll As New OracleScript
    dropAll.Connection = con
    dropAll.ScriptText = VbCrlf & _
    "        "  & "drop trigger sys.alert_trigger;" & VbCrlf & _
    "        "  & "drop table scott.alert_table;" & VbCrlf  
    dropAll.Execute
    
    ' Close the connection.
    con.Close
End Sub

' A simple insert command used to trigger the "my_alert" alert.
' We take this command out to use multithreading.
Public Shared Sub Insert()
    Dim createAll As New OracleCommand
    createAll.CommandText = "insert into scott.alert_table values ('10', 'Some text')"
    createAll.Connection = con
    createAll.ExecuteNonQuery
    Console.WriteLine("Inserted a row")
End Sub

開始模式

    在這個示例中講會使用警報檢索模式中的開始模式,OracleAlerter對象alerter將被初始化,并被設置為特定警報偵聽。然后OracleAlerter類的另一個實例alertGenerator,將會發(fā)送帶有名字的警報到服務器上,從而觸發(fā)警報的事件。等待時間到期后,將會提出WaitTimeout事件,監(jiān)聽重新開始。然后WaitTimeout對象停下來顯示停止事件。

[C#]

static void Main(string[] args)
{
    // Initialize and open a connection to the Oracle server. 
    // We connect as Sys to have the privilieges to use the DBMS_Alert package.
    OracleConnection con = new OracleConnection();
    con.Server = "ora";
    con.UserId = "sys";
    con.Password = "pwd";
    con.ConnectMode = OracleConnectMode.SysDba;
    con.Open();

    // Create the OracleAlerter instance and register it for the "my_alert" Oracle Alert.
    // Set Interval to 0 so that there is no delay between two consequent periods of listening.
    OracleAlerter alerter = new OracleAlerter();
    alerter.Connection = con;
    alerter.AlertName = "my_alert";
    alerter.Timeout = 3;
    alerter.Interval = 0;
            
    // Set the event handlers for all possible OracleAlerter events.
    // The Alert event fires when an alert is received.
    // The Error event fires as any error occurs while receiving alerts.
    // The Stopped event fires when alerter becomes inactive, e.g. after the Stop() method.
    // The WaitTimeout event fires when the Timeout period ends without getting an alert.
    alerter.Alert += new OracleAlerterAlertEventHandler(Alerter_OnAlert);
    alerter.Error += new OracleAlerterErrorEventHandler(Alerter_OnError);
    alerter.Stopped += new OracleAlerterFinishEventHandler(Alerter_OnStop);
    alerter.WaitTimeout += new OracleAlerterFinishEventHandler(Alerter_OnTimeOut);
	
    // Start the alerter. It will wait for alerts during the Timeout period.
    // After that, it sleeps during Interval and then starts again.
    // As Interval is zero, there will be no sleeping periods.
    // Unlike the WaitAlert method, Start() does not hold the current thread.
    alerter.Start();
	
    // We need to wait until the alerter begins listening. 
    // Otherwise, the alert may fire before OracleAlerter is initialized.
    // In this case, the Alert event won't be triggered and alerter will just wait 
    // until Timeout, producing the WaitTimeout event.
    Thread.Sleep(2000);
	
    // In this sample, we use another instance of OracleAlerter instead of database triggers to generate the alert.
    // alertGenerator uses the same connection and alert name as the alerter object.
    OracleAlerter alertGenerator = new OracleAlerter();
    alertGenerator.Connection = con;
    alertGenerator.AlertName = "my_alert";

    // Send an alert to the server. At this moment alerter should raise the Alert event.
    alertGenerator.Signal("An alert message.");

    // In contrast to WaitAlert(), the Start() method allows to receive alerts continuously.
    // Thus, we can process all alerts that are available on the server.
    alertGenerator.Signal("One more alert");
	
    // After the alert is received, alerter starts another Timeout period.
    // At its end, the WaitTimeout event will be generated. We pause the thread to get this event.
    // Besides, we need a small pause to let the last alert be sent to the server.
    Thread.Sleep(5000);
	
    // Disable alerter, raising the Stopped event. 
    alerter.Stop();
	
    Console.Read();
	
    // Close the connection.
    con.Close();            
}

// Simple event handlers for alerter's events.
public static void Alerter_OnAlert(object sender, OracleAlerterAlertEventArgs e)
{
	Console.WriteLine("Got an alert: " + e.AlertMessage);
}
public static void Alerter_OnError(object sender, OracleAlerterErrorEventArgs e)
{
	Console.WriteLine("Error: " + e.AlerterException.Message);            
}
public static void Alerter_OnStop(object sender, OracleAlerterFinishEventArgs e)
{
	Console.WriteLine("Stopped: " + e.ToString());
}
public static void Alerter_OnTimeOut(object sender, OracleAlerterFinishEventArgs e)
{
	Console.WriteLine("Time's up: " + e.ToString());
}

[Visual Basic]

Shared Sub Main(ByVal args As String())

    ' Initialize and open a connection to the Oracle server. 
    ' We connect as Sys to have the privilieges to use the DBMS_Alert package.
    Dim con As New OracleConnection
    con.Server = "ora"
    con.UserId = "sys"
    con.Password = "pwd"
    con.ConnectMode = OracleConnectMode.SysDba
    con.Open
    
    ' Create the OracleAlerter instance and register it for the "my_alert" Oracle Alert.
    ' Set Interval to 0 so that there is no delay between two consequent periods of listening.
    Dim alerter As New OracleAlerter
    alerter.Connection = con
    alerter.AlertName = "my_alert"
    alerter.Timeout = 3
    alerter.Interval = 0
    
    ' Set the event handlers for all possible OracleAlerter events.
    ' The Alert event fires when an alert is received.
    ' The Error event fires as any error occurs while receiving alerts.
    ' The Stopped event fires when alerter becomes inactive, e.g. after the Stop() method.
    ' The WaitTimeout event fires when the Timeout period ends without getting an alert.
    AddHandler alerter.Alert, New OracleAlerterAlertEventHandler(AddressOf Alerter_OnAlert)
    AddHandler alerter.Error, New OracleAlerterErrorEventHandler(AddressOf Alerter_OnError)
    AddHandler alerter.Stopped, New OracleAlerterFinishEventHandler(AddressOf Alerter_OnStop)
    AddHandler alerter.WaitTimeout, New OracleAlerterFinishEventHandler(AddressOf Alerter_OnTimeOut)
    
    ' Start the alerter. It will wait for alerts during the Timeout period.
    ' After that, it sleeps during Interval and then starts again.
    ' As Interval is zero, there will be no sleeping periods.
    ' Unlike the WaitAlert method, Start() does not hold the current thread.
    alerter.Start
    
    ' We need to wait until the alerter begins listening. 
    ' Otherwise, the alert may fire before OracleAlerter is initialized.
    ' In this case, the Alert event won't be triggered and alerter will just wait 
    ' until Timeout, producing the WaitTimeout event.
    Thread.Sleep(2000)
    
    ' In this sample, we use another instance of OracleAlerter instead of database triggers to generate the alert.
    ' alertGenerator uses the same connection and alert name as the alerter object.
    Dim alertGenerator As New OracleAlerter
    alertGenerator.Connection = con
    alertGenerator.AlertName = "my_alert"
    
    ' Send an alert to the server. At this moment alerter should raise the Alert event.
    alertGenerator.Signal("An alert message.")
    
    ' In contrast to WaitAlert(), the Start() method allows to receive alerts continuously.
    ' Thus, we can process all alerts that are available on the server.
    alertGenerator.Signal("One more alert")
    
    ' After the alert is received, alerter starts another Timeout period.
    ' At its end, the WaitTimeout event will be generated. We pause the thread to get this event.
    ' Besides, we need a small pause to let the last alert be sent to the server.
    Thread.Sleep(5000)
    
    ' Disable alerter, raising the Stopped event. 
    alerter.Stop
    Console.Read
    
    ' Close the connection.
    con.Close
End Sub

Public Shared Sub Alerter_OnAlert(ByVal sender As Object, ByVal e As OracleAlerterAlertEventArgs)
    Console.WriteLine(("Got an alert: " & e.AlertMessage))
End Sub

Public Shared Sub Alerter_OnError(ByVal sender As Object, ByVal e As OracleAlerterErrorEventArgs)
    Console.WriteLine(("Error: " & e.AlerterException.Message))
End Sub

Public Shared Sub Alerter_OnStop(ByVal sender As Object, ByVal e As OracleAlerterFinishEventArgs)
    Console.WriteLine(("Stopped: " & e.ToString))
End Sub

Public Shared Sub Alerter_OnTimeOut(ByVal sender As Object, ByVal e As OracleAlerterFinishEventArgs)
    Console.WriteLine(("Time's up: " & e.ToString))
End Sub

標簽:

本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn

文章轉載自:慧都控件

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
国产欧美日韩精品第一页 | 天天夜碰日日 | 一区二区三区视频在线播放 | 国产精品.xx视频.xxtv | 国产又爽又黄又不遮挡视频 | 国产日韩欧美高清一区二区三区 | 欧美在线观看一区 | 国产日韩精品一级二级 | 欧美日韩午 | 欧美aⅴ激情视频 | 国产乱伦视 | 悠久影视网网 | 老司机99视频在线免费观看 | 在线观看免费人成视频国产 | 国产v综合v亚洲欧美大片 | 国产亚洲新免费视 | 2025国产拍偷精品网 | 99超级在线视频 | 婷婷伊人网 | 国产在线视精品在亚洲 | 亚洲国产精品一区第二页 | 欧美精品一区二区三区免费 | 国产女人精品在线直播 | 亚洲三区在 | 亚洲免费在线观看 | 亚洲欧美综合在线天堂 | 少女频道在线观看高清 | 日韩欧美一区二区在线精品 | 日韩精品一区二区三区蜜桃 | 国产精品自在线拍国产手机版 | 欧美三级欧美一级在线视频 | 日韩一级欧美一级一级国产 | 亚洲精品高清国产 | 大地资源中文第二页高清 | 免费国产一区二区三区 | 东方aⅴ免费观看 | а√天堂资源8在线官网在线 | 国产精品日韩欧美一区2区3区 | 人人鲁免费 | 91桃色在线 | 肉大捧一进一出免费视频 | 欧美综合自拍亚洲综合图区 | 国产盗拍精品视频 | 亚洲人成亚洲精品 | 国产凸凹视频 | 成人午夜看黄在线尤物成人 | 欧美日韩精 | 天美传媒果冻传媒国产电影 | 国产日本卡二 | 国产喷水在线观看 | 99视频精品全部国产盗摄视频 | 99热在| 国产亚洲一区二区手机在线观 | 成年动漫h视频在线观看 | 中文日本免费高清 | 国产日本欧美亚洲精品视 | 热门电影综艺电视剧在线观看 | 天天综合 | 精品一区二区三区密臀在线 | 91极品美 | 国产精品成人自拍在线观看 | 国产黄大片在线观看视频 | 亚洲欧美精品一区二区 | 日韩乱码精品中文字幕不卡 | 日韩一区在线播放 | 精品午夜国产在 | 欧美国产合集在线视频 | 91免费网址 | 男女性爽 | 欧美人体一区二区视频 | 日本一本二本三区免费2025高 | www在线观看一区二区三区 | 蜜桃精品一区二区三区在线观看 | 最好看的日本电影免费 | 国产一级一区在线一页 | 国产精品一一在线观看 | 亚洲精品视在线看1 | 日韩妇女成人 | 成人一区专区在 | 日本喷奶水中文字幕视频 | 亚洲精品中文字幕码专区 | 亚洲色大成网站www永久 | 国产在线精品手机播放 | 性感美女网站一区二区三区 | 揄拍成人国产精品视频 | 日本高清无卡码 | 欧美日韩国产精品自在线亚洲精品 | 国产精品一区二区在线观看免费 | 日本视频免费 | 99爱第一视频在线观看 | 色吊丝a| 亚洲欧美一区二区三区在线 | 97碰碰碰视频在线观看 | 另类熟女伦乱视频 | 国产精品人成在线播放新网站 | 国产欧美在线一区二区三区 | 国产亚洲精品不卡 | 国产日本韩国 | 国产乱子伦露脸在线 | 国产精品色三级在线观看 | 2025免费国产a | 另类视频一区二区三区 | 国产精品秘入口免 | 午夜男女爽爽羞羞影院在线观看 | 无毒不卡在线观看无需下载 | 国产欧美日韩视频在线 | 国产网址 | 亚洲成a人片在线观看日本 国产福利萌白 | 精品亚洲国产成v人片传媒 欧美性猛 | 福利国产精品 | 亚洲国产精品日韩在线观看 | 国产二区三区午夜免费视频 | 国产精品视频大陆免费播放 | a大片高清在线观看 | 日韩视频高清欧美一区 | 免费电影天堂 | 国产乱码精品一品二品 | 最近免费中文字幕大全免费版视频 | 日韩欧美一区二区三区免费看 | 伊人成色综合网 | 好看的电视剧免 | 日韩在线一区二区三区观 | 国产专区一区在线观看 | 国产亚洲一区在线 | 韩国三级中文字 | 91精品国产福利在线观看 | 国产高清在线视频伊甸园 | 亚洲欧美春色激情另类 | 成人一级电影视频 | 国产99久9在线视频 欧美日韩国产综合视频 | 中文字幕亚洲综合久 | 欧美激情综合亚洲一二区 | 日韩亚洲国产欧美在线看片 | 亚洲欧美另类在线图片区 | 国产精品黄在线观看免费 | 无人影院手机版在线观看免费 | 五月综合| 欧美一级大| 看国产黄| 亚洲一区二区三区在线观看 | 午夜神马 | 激情深爱五月开心婷婷综合 | 超91国在线 | 九九热这里只有精品视频 | 国产精品视频露脸 | 狠狠狠狼鲁欧美综合网免费 | 老司机永久免费视频网站在线观看 | 66lu国产在线观看 | 欧美精品制服 | 国产精品熟女一区二区 | 国产欧美日韩精品专区 | 成a人片在线观 | 欧美日韩国产一区 | 亚洲国产精品ⅴa在线观看 最新亚洲人 | 天天澡日日澡狠狠欧美老妇 | 国产人成网线在线播放va | 另类专区亚洲97在线视频 | 精品一卡2卡三卡4卡免费视频 | 亚洲欧洲日本精品永久在线观看 | 好看的韩国电影 | 桃色在线观看 | 欧美午夜在线视频 | 国产毛多| 片老司机| 国产免费 | 精精国产xxxx视频在线 | 野花韩国高清免费视频6 | 亚洲日韩精品综合一区二区 | 三级中文字幕永久在线视频 | 国产欧美日韩一级 | 乱子伦视频在线看 | 91国语精品自产拍在线观看 | 国产啪视频免费观看视频 | 激情婷婷 | 日韩伦理福利免费 | 国产真实| 免费岛国小视 | 九一香蕉| 亚洲精品区m | 国产精彩香蕉在线视频 | 国产精品日产三级在线观看 | 国产日韩在线观看一区二区三区 | 精品国产国产综合精品 | 欧美精品亚洲精品日韩专区 | 这里只有精品在线视频 | 亚洲色资源在线播放 | 女人与动zz | 91视频官| 好看的最新的国产 | 国产美日韩精品一区二区在线观看 | 韩国免费视频一区二区三区 | 2025国产精品一卡2卡三卡4 | 最新亚洲| 给我免费的视频在 | 午夜不卡视频 | 午夜国产精品理论 | 国产激动情五月天 | 日本精品在线播放 | 欧美三区日韩一 | 国产色a在线观看 | 亚洲国产精品午夜伦不卡 | 激情文学综合区图片区小说区 | 国产乱码日产精品bd | 国产女人抽搐喷浆视频 | 国产日韩另类视频一区 | 99国产在线精品观看二区 | 亚洲精品自拍愉拍第二 | 国产亚洲欧美日韩国产片 | 欧美a级片一区二区在线播放 | 7878成人国产在 | 免费va国产高清大片在线 | 在线观看91精品国产hd | 国产午夜福利精品在线观看不 | 免费人成年激情视频在线观看 | 欧美亚洲日韩国产人成在线播放 | 老妇小说| 入口在线观看国产欧美 | 亚洲人成电影网站国产精品 | 二区三区在线观看 | 91九色私密保健 | 日本中文一区二 | 成人国产精品视频 | 成人自拍视频在 | 国产男生夜间福利免费网站 | 成人免费xxx在线观看 | 欧美日韩国产综合在线小说 | 污免费网站入口 | 未满十八勿入网站 | 在线观看成人国产精品 | 国产丝袜视频 | 一级午夜福利 | 亚洲精品永久在线观看 | 解码2025最新电影预告片 | 中文字幕精品一二三四五六七八 | 秋霞电影午夜在线观看 | 真实国产精品视频400部 | 久青草国产97香蕉 | 在线观看国产精品一区 | 国产精产国品一二三在观看 | 在线观看福利影院 | 啦啦啦免费高清在线观看 | 国产妇乱子伦视 | 国产福利深夜视频在线观看 | 亚洲国产一区欧美 | 欧美不卡在线 | 99re9精品视| 在线亚洲v日韩v | 国产性夜夜春夜夜爽30 | 日韩欧美大片精品黄 | 欧亚日韩| 国产老肥熟一区二区三区 | 国产又粗又猛又爽又黄的视频吉 | 最刺激黄a大片免 | 国产乱子伦精品免费 | 国产乱子伦一区二区三区 | 亚洲精品高清欧美 | 成人亚洲| 日韩亚欧美一二三四视频 | 日本一区二区三区在线观看入口 | 国产综合成人一区二区三区电影院 | 欧美日韩另类视频在线观看 | 全集高清免费的影视剧在线观看 | 国产高清国产精品国产专区 | 亚洲色精品一区二区三区 | 成人精品国产区在线观看 | 日韩精品国产一级 | 日韩中文字幕在 | 国产综合色产在线视 | 国产免费爽爽视频 | 亚洲免费网站在线观看 | 日韩欧美精品一区二区三区在线 | 国产精品偷伦视频观看免费 | 亚洲欧美不卡视频在线播放 | 青青草免费观看 | 91极品尤物在线观看 | 亚洲国产a视频 | 亚洲精品高清欧美 | 日本免费一区二区在线观看 | 欧美日本一区二区视频在线播放 | 免费jjzz| 精品第一国产久精国产宅男66 | 日本视频中文字幕一区二区 | 97国产在线视频 | 国产乱码1卡二卡3卡四卡 | 国产v片在线播放免费观看大全 | 国产日产成人免费视频在线观看 | 国产精品果冻传媒在线 | 免费观看性生交大片 | 日韩影院 | 成人国产在线视频 | 涩涩www在线观看免费高清 | 99ri视频一区二区三区 | 日韩精品人 | 国语自产拍在线 | 综合三级中| 国产a国产片国产 | 韩国日本免费高清观看网址 | 欧美高清一区二区三区不卡视频 | 中文字幕在线永久免费精品 | 欧洲乱码专区一区二区三区四区 | 男人花免费观看视频在线观看 | 香蕉免费啪 | 91啪国自产最新91啪国自产 | 91大神在线精品视频一区 | 国产真实伦 | 完整版在线观看 | 国产乱码精品一区二区三区四 | 一个人看的www日本高清视频 | 亚洲免费青草视频在线 | 国产在线观看 | 中文在线欧美亚洲制服 | 91探花国产综合在线精品 | h网站国 | 国产精品美女视视频 | 中文字幕一区二 | 国产一区二区在线观看免费 | 欧美一区二区三区免费 | 亚洲日韩欧美在线一区二区 | 国产一区二区三区欧美 | 亚洲欧美国产精品制服 | 国产高清在线观看视频一线 | 国产a级三级三区成人国产一级婬 | 中文字幕国产日韩 | 日韩精品三级一区二区 | 中文字幕一区二区不卡 | 欧美性xx| 成人国产一区二区三区精品 | 精品蜜臀一区二区三区在线 | 亚洲国产欧美在线人成aaaa | 国产精品熟女一区二区 | 91电影在线观看 | 国产精品日韩欧美在线 | 国产又粗又硬又大爽黄老大爷视 | 射精专区一区二区朝鲜 | 无线网在线观看 | 国产人妖在线 | 亚洲欧美精品一区二区三区四区 | 欧美人另是日本人妖 | 欧美日韩国产精品一区二区在 | 日韩高清在线播放不卡 | 超国产人碰人摸人爱视频 | 国产久一视频在线观看app | 欧美理论片在线观看一区二区 | 日本aⅴ精品一区二区三区日 | 最近中文字幕2025 | 欧美整片aⅴ免费 | 精品日韩在线视频一区二区三区 | 狠日狠干日曰射 | 日本中文字幕永久免费 | 国产一级二级三级经典在线 | 欧美日韩视频一区二区三区 | 亚洲熟女www一区二区三区 | 91普通话国产对白在线 | 激情五月天深爱网 | 国产一级特黄大片特爽 | 91大神在线精品视频一区 | 乱伦91欧| 国语自产偷成人精品视频 | 费精品国产一区国产精品剧情在线 | 日韩亚洲欧美三区中文字幕 | 欧洲精品亚洲一区 | 玩肥熟老妇bbwxxx视频 | 一区二区三区不卡 | 亚洲老妈激情一区二区三区 | 在线观看国产高清免费不卡黄 | 一二三区理论片 | 国产3级在线观看 | 综合三级在线观 | 91社区免费福利区 | 婷婷综合激情五月中文字幕 | 国产在线拍偷 | 国产精品户 | 亚洲精品欧美综合二区 | 国产精品va尤物在线观看 | 樱花动漫网站官网 | 国产精品自在线拍国产下载 | 国产专区视频 | 免费精品国产自产拍观看 | 国精产品一区二区三区四区糖心 | 欧洲精品免费高清在线视频 | 精品一区二区三区 | 欧美搡bb| 国产福利91精品在线观看 | 午夜成人影片 | 国产伦亲子伦亲子视频观看 | 精品国产男人的天 | 国产在线一区二区三区在线 | 精品亚洲欧美中文字幕在线看 | 高清免费视频一区二区三区 | 国产精品高清一区二区三区不卡 | 欧美一级鲁丝 | 国产香蕉人在线播放视频网站 | 日本在线免费 | 国自产拍偷拍福利精品免费 | 成人午夜看黄在线尤物成人 | 色哒哒影院 | 亚洲成a人a∨久在线观看 | 亚洲国产精品天堂jua | 亚洲欧美激情在线一区 | 一扒二脱三插片在 | 亚洲人成在线观看 | 日本高清中文字幕高清在线 | 丰满妇女强 | 国产制服亚洲 | 亚洲色成人www永久网站 | 欧美成a人片在线观看 | 国产一区二区三区精品专区 | 一区二区三区高清视频国产女人 | 国产精品一区二区三 | 津渝完整视频线上观看 | 日本精品二三区视频在线观看 | 成人欧美视频在线观看 | 免费中文综合乱伦 | 性生生活12分钟免费 | 久色资源免费的资源站 | 中文字幕第一页在线 | 精品在线免费观看 | 91福利电影 | 好看中文| 亚洲成a| 国产一区二区在线视频观看 | 亚洲大片精品永久免费看网站 | 精品国产免费1区 | 精品日韩视频一区二区三 | 国产人成精品综 | 亚洲国产精品一区二区九九 | 国产精品国语对白露脸在线播 | 国产巨作在线无遮 | 视频国产精品丝袜第一页 | 91.cn国产大片| 日韩大片在线永久免费观看网站 | 亚洲精品熟女 | 国产区二区 | 图片区小说区激情区偷拍区 | 一区二区三区四区在线播放视频 | 日本在线视频在线 | 99九九免费热在线精品 | 污污污视频在线免费观看 | 最好免费观看高清视频大全 | 亚洲精品无 | 国内精品91最新在线观看 | 521香蕉网欧美 | 成人看片黄a在线 | 会议电话| 国产精品不卡在线观看 | 国产99视频精品免费视频76 | 亚洲一区二区偷拍第一页 | 最新热播电影 | 国产区二区| 亚洲视频| 粗暴进入娇 | 91色色| 国产免费中文字幕v在线 | 4480yy午夜私人影院 | 啊v在线免费| 久操免费在线观看 | 亚洲制服| 国产精品欧美亚洲区 | 国产在线视频在线观看 | 天堂在线最 | 最近更新中文字幕2025视频 | 91牛牛国产在线无弹窗 | 日韩欧美亚洲一区二区综合 | 日本电影中文字 | 毕业之后混得很normal | 一区二区三区四区在线播放视频 | 最新免费电影在线播放 | 日本一级a大片在线观 | 荫蒂添的好舒服视频囗交 | 99视频在线精品66 | 欧美日韩亚洲第一区 | 免费国产在线精品一区二区 | 精品第一国产综合精品蜜芽 | 很黄很色的免费视频在线观看 | 成人性欧美 | 日本免费国产 | 国产亚洲欧美日韩国产片 | 欧美一级中文字幕免费在线 | 欧美午夜一区二区之蜜桃 | 午夜福利蜜桃青 | 一本大道香蕉久97在线播放 | 亚洲国产综合精品一区 | 国产亚洲一区二区三区在线 | 国产区免费视频在线观看 | 2025国产精品偷窥盗摄 | 亚洲国产精品日韩专区a∨ 欧美国产日韩a视频在线不卡 | 91精品视品在线播放 | 这里只有精品在线观看视频 | 成a人片免费在线观看 | 果冻文化传媒官网 | 国产精品边做奶水狂喷 | 日本在线日本中文字幕 | 九月丁香婷婷激情四射视频一区 | 91精品欧| 亚洲精品字幕中文在线播放 | 野花香视频免费观看高清在线 | 污污网站免费 | 一区二区三区在线观看欧美日韩 | 热门好看动漫综艺 | 禁18怕啦啦啦视频网站 | 国产伦一区二区三区蜜桃 | 亚洲一区二区三区四区在线 | 日本汚视频在线观 | 亚洲一本大道中文在线 | 视频在线观看不卡免费 | 日韩欧美国产一区二区三 | 久操电影网 | 成人国内免费精品视频在线观看 | 神马电影院午夜神福利在线观看 | 国产男同在 | 中文字幕在线观看不卡 | 亚洲欧美日韩综合第一页 | www.亚洲最大夜色伊人 | 日韩h片在线观看 | 成人午夜污污在线观看网站 | 欧美日韩国产乱了伦 | 国产精品免费一区二区三区 | 国产丰满 | 不卡一卡| 欧美国产日韩在线观看 | 国产精品一区二区视色 | 中文日本 | 亚洲美女又黄又爽在线观看 | 国产精品免费一级在线观看 | 国产亚洲制服 | 国产性爱在线观看 | 自拍偷自拍亚洲精品偷一 | 国产刺激视频在线观看 | 亚洲а∨精品天堂在线 | 免费在线观看最新高清电影 | 欧美三级视频 | 青柠影院免费观看电视剧高清 | 亚洲精品天堂成人 | 中国在线观看免 | 亚洲欧美日韩国产综合 | 亚洲日韩高清在线亚洲专区 | 中文字幕一区二区三区免费视 | 狠狠五月天 | 津渝完整视频线上观看 | 99爱在线精品视频免费观看9 | 午夜一区二区三区 | 欧美丰满妇大ass | 美女下部隐私无视频 | 精69xxx免费酒店 | 影院在线播放 | 亚洲一区二区福利在线观看 | 九九热在线视频观看 | 最近中文字幕在 | 国拍在线精品 | 精品視頻無碼一區二區三區 | 亚洲国产日韩欧美高清片a 综合国产日韩亚洲 | 精品国产欧美在线小说区 | 清纯唯美亚洲 | 最新国产精品视频 | 日韩男女激情视频在线观看 | 亚洲日韩精品免费视频91蜜桃 | 113美女写真 | 欧美精品小视频 | 日韩欧美亚洲一区二区综合 | 日韩精品欧美激情国产一区 | 69一区二三区好的精华液 | 国产女主播精品大秀系列 | 中国免费高清视频在线观看 | 芙宁娜裸身被羞羞漫画 | 欧美精品第1页www劲爆 | 丝袜美腿视频区一区二区三 | 亚洲精品亚洲欧美综合区 | 国产欧美日韩亚洲中文高 | 99re16热视频精品 | 国产在线乱码一区二区三区 | 欧美乱妇日本无乱码特黄大片 | 国产隔着超薄丝袜进入 | 中国国产免费毛卡片 | 最新日本一道免费一区二区 | 电话耳麦 | 亚洲中文字幕一二三区 | 亚洲人成手机 | 国产末成年 | 杨幂在日本一区二区视频 | 欧美a级片一区二区在线播放 | 亚洲综合激情 | 国产午夜免费一区二区三区 | 日韩新片 | 视频免费观看 | 国产老人一区v二三区 | 中文字幕亚洲第一 | 人善交vi | 影视最全更新最快 | 97在线精品国自产拍中文 | 在线看片国产日韩欧美亚洲 | 国产精品日韩欧美一区二区三 | 精品国产第 | 国产在线激情视频 | 99热国产这里只有精品 | 国产福利在线观看极品美女 | 九一香蕉 | 国产va免费精品高清在线 | 999zyz玖玖资源网免费 | 8888四色奇米在线观看 | 国产在线不卡播放 | 亚洲欧美一区二区三区久本道 | 国产福利91精品一区二区三区 | a∨国产a∨ | 好看的中文字幕aⅴ在线视频 | 国产69公社在线视频 | 日日插人人插天天插 | 美女国产诱a惑v在线观看 | 国产精品伊人 | 亚洲国产欧美在线观看片不卡 | 蜜桃影视 | 在线观看一二三四区 | aaa亚洲男人的天堂 日本搞黄 | 日本国产一区在线观看 | 国产激情怍爱视频在线观看 | 午夜爽爽影院 | 国产午夜福利在线观看污 | 欧洲日韩国产一区 | 国产人成视频 | 日本成人频道一区二区三区 | 中文字幕精品视频在线观看 | 国产大片91精品免费观看不卡 | 国产日韩另类视频一区 | 日韩中文字葛高清在线专区 | 欧美日韩亚洲国产精品自拍 | 性一交一乱一伦一 | 精品自拍视频在线观看电影 | 国精产品一二二线网站 | 区二区视频在线观看 | 亚洲午夜国产精品无卡 | 亚洲国产一区二区三区在线 | 韩国三级hd中文字幕电影天堂 | 妖精视频免费 | 韩日精品在线观看 | 成a人v在线观看 | 国产在线观看码高 | 国产小主播野外在线播放 | 欧美不卡一区二区三区 | 一二三四区免费 | 在线a亚洲视频播放在线观看 | 免费一区 | 在线免费在线观看的a | 国产精品无需播放器在线观看 | 日韩电影免费在线观看中文字幕 | 国产精品黄在线观看免费 | 在线观看欧美a级精品视频 电影中文 | 中文字幕婷婷在 | 国产精品538 | 中文字幕乱码免费不 | 日本精品一区二区 | 欧美va免费高清在线观看 | 一区二区亚洲精品国产片 | 91福利国产极品美女在线观看 | 91福利国产在线观看香蕉 | 国产亚洲欧美丝袜 | 免费精品三级乱伦 | 一区二区三区四区在线不卡高清 | 热门好看动漫 | 精品国产一区二区三区 | 黄a大片| www在线观看一区二区三区 | 天天影视色香欲综合网小说 | 午夜福利精品一区 | 2025最新国产在线精品不卡顿 | 99精产国品一二三产品香蕉 | 国产精品永久免费自在线观 | 国产另类在线欧美日韩 | 91导航小污女导航天天夜夜爽 | 在线成人免费观看国产精品 | 日韩精品专区在线影院重 | 国产精品第44页 | 亚洲欧洲美 | 国产精品a无线 | 午夜视频在线观 | 999在线视 | 717午夜伦伦电影理论片 | 日本高清一二三不卡区 | 在线观看亚洲人成网站 | 国产在线精品一区免费香蕉 | 国产日韩欧美视频在线观看 | 视频一区二区亚洲欧美 | 另类国产精品一区二区 | 欧美日韩亚洲国产一 | 综合亚洲桃色第一影院 | 在线日本在线中文字幕 | 国亚洲一厂区二厂区三厂区 | 国产精品成人一区二区三区电影 | 亚洲成a人在线观看片 | 2025国产精品视频 | 真实国产熟睡乱子伦视频 | 视频免费1区二区三区 | 国内成人免费视频 | a亚洲欧美中文日韩在线v日本 | a级成人 | 2025欧美精| 国产福利在线观看免费第一福利 | 69一区二三区好的精华液 | 国产人成77777视频网站 | 成人污污污www网站免费丝瓜 | 中文字幕无线免费 | 国产高清在线视频伊甸园 | 国产精品自在 | 国产一级一片免费播放视频 | 亚州图片 | 日本又黄又爽gif动态图 | 国产亚洲精品国产福利在线观看 | 老司机精品 | 亚洲天堂日韩中文 | 国产精品美乳在线观看 | 日韩亚洲欧美理论片 | 老熟女重囗味hdxx70 | 国产二代与美女酒店在线播放 | 亚洲精品偷拍区 | 欧美另类69xxxxx在线观看 | 国产日产亚洲系列电影 | 欧美日韩一区日本成人一区二区 | 国产又大又粗又黄又爽的视 | 国产日韩欧美在线观看一区二区 | 一二三区免费视频 | 国产欧美日韩精品第一页 | 成人影院在线免费观看 | 日韩中文字幕视频在线 | 日韩一区二区三区精品 | 国产日韩成人精品视频 | 岛国大片网站在线观看 | 欧美三级韩国三 | 亚洲欧美另类专区 | 国产高清不卡在线观看 | 免费观看视频成人国产 | 国产精品中文字幕制服 | 激情中文小说区图片区 | 国产一级视频播放 | 高清影院 | 午夜成人亚洲理伦片在线观 | 亚洲欧美日韩一区超高清 | 在线视频一区二区男男 | 99一区二区三区国产热视频在线 | 中日韩无砖码一线二线 | 亚洲精品沙发午睡系列 | 亚洲精品欧美 | 天美麻花视频大全 | 99re6在线视频精品免费下载 | 国产免费v片在线观看完整版 | 国产男女爽爽爽爽爽免费视频 | 最近中文字幕高清中文字 | 欧美bb| 欧美.日韩.日本中亚网站 | 国产乱ⅴ一区二区三区 | 亚洲国产激情一区二区三区 | 在线观看国 | 国产精品亚洲午夜不卡 | 国产在线精 | 亚洲狠狠ady亚洲精品大秀 | 亚洲韩国日本欧美一区二区三区 | 好看的高清电影大全 | 囯产极品美女 | 国产又刺激又黄又爽又湿 | 中国领先的综合视频网站 | 日本精品中文字幕有码 | 亚洲中文字幕一区二区三区 | 99精品国产九九国产精品 | 日本免费一区二区在线看片 | 午夜国产福利 | 欧美乱妇日本无乱码特黄大片 | 欧美a级情欲片手机在线播放 | 99香蕉国产精品偷在线观看 | 2025免费高清电影大全 | 91短视频免费下载 | 日韩精品一区二区三区中文字幕 | 国产精品无内丝袜高跟鞋 | 国产在线观看一区二区三区四区 | 国产精品自产拍高 | 欧美三级韩国三级日本三斤 | 国产永久精品一区二区污污 | 香蕉免费一区二区三区 | 一本大道之中文日本香蕉 | 国产精品.xx视频.xxtv | 99精品无人区乱码1区2区3区 | 亚洲精品永久一区 | 国产精品欧美 | 国产一区二 | 成人亚洲欧美丁香在线观看 | 在线视频91 | 国产人成网在线播放va | 天美传媒、91制片厂、天美传媒 | 日本高清专区一区二无线 | 欧美性生恔xxxxxdddd | 国产系列丝袜熟女精品视频 | 天美麻花星空视 | 国产精品中文字幕制服 | 中文字幕婷婷在 | а√天堂资源8在线官网在线 | 日韩99在线一级 | 国产啪精品视频网站免费尤物 | 国产日韩精品一区二区在线观看 | 欧美二区在线观看 | 区二区三区综合片 | 91天堂一区二区三区在线观看 | 日韩一区二区超清视频 | 午夜成人爽爽爽视频在线观看 |