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

金喜正规买球

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
欧美一区二区三区性 | 日本高清免费不卡视频 | 免费人成在线观看网站免费观看 | 一区二区三区四区免费视频 | 欧美激情在线精品video | 亚洲欧美日韩综合 | 欧美激情区二区一区三 | 人在线播放 | 午夜影院网站野外大战 | 日本国产一区二区三区在线观看 | 国产亚洲欧美一区二区三区 | 国产欧美日韩精品综合第一区 | 欧美三茎同入 | 99爱在线精品视频免费观看9 | 国产一区 | 天天夜夜欢性恔免费视频 | 日韩永久免费在线中文字幕 | 国产中文 | h版电影在线播放视频网址 99九九精品国产高清自在线 | 国产精品自在线拍国 | 国产一卡2卡3卡4卡网站免费 | 精品乱子伦一区二区三区 | a在线视频v视频 | 日韩精品午夜视频一区二区三区 | 精品国产第一页 | 88影视网免费的电视剧 | 又刺激又爽又黄的视频在线观看 | 欧美一区二区在线观看 | 国产精品免费视频网站 | 国产一级淫片a免费播放口 海量热播电视剧手机电影在线观看 | 免费看成年视频在线入口完整版 | 国产精品喷潮在线观看 | 日韩专区中文字幕在线 | 国产精品爽爽ⅴa在线观看 欧美精品一区二区三区免费 | 亚洲日韩天堂在线 | 国产黄在线| 国产嘿嘿嘿视频在线观看 | 中文字幕永久在线日本高清dvd | 影音先锋女人aa鲁色资 | 一出一进一爽一粗一大视频免 | 国产偷国产偷精 | 亚洲人成电影网 | 亚洲欧洲国产码专区在线观看 | 自拍偷自拍亚洲精品播放 | 国产精品亚洲二区在线观看 | 添bbb免费看高清视频 | 高清在线观看视频 | 亚洲国产一区二区三区a毛 国产美女淫秽一区二区三区 | 国产欧美日韩视频专区在线观看 | 亚洲精品一本四区91 | 亚洲视频一区二区在线观看 | 国产精品一线二线三线 | 精品国产亚洲一区二区三区 | 日本三级在线播放线观看免 | 制服丝袜亚洲中文综合 | 国产乱子夫妻xx黑人xyx真爽 | 免费观看男女性恔配视频 | 日韩精品视频在线 | 国泰饭店 | а天堂中文最 | 亚洲丝袜制服在线观看 | 亚洲欧美偷拍另类a∨ | 国产精品中文字幕制服 | 亚洲色大成网站www永久网站 | 亚洲精品人体大胆 | 国产精品露脸 | 欧美国产精品不卡在线观看 | 国产l精品国产亚洲区在线观 | 国产在线拍精品热 | 成人做爰a | 国产亚洲欧美丝袜 | 日本一二三本道 | 亚洲午夜日韩 | 日韩高清片一二区 | 在线欧美日韩亚洲国产一区 | 自拍偷自拍亚洲精品偷一 | 色妺妺视频网 | 国产欧美日本韩国另类 | 91极品尤物 | 青青青爽国产 | 成视人a免费观看视频 | 91精品国产高清在线重 | 欧美激情视频一区二区三区免费 | 亚洲网站免费观看 | 欧美精品金8天国系列 | 亚洲专区ww另类 | 欧美多人顶级午夜寂寞影院 | 精品国产男人的 | 第一页在线观 | 欧美精品xxxxbbbb | 欧美激情视频免费 | 日日摸夜夜添夜夜添特色大片 | 91tv官网精品观看 | 国产又粗又长又黄又猛又爽视 | 一区二区三区四区在线观看视频 | 日本精品国产 | 中国在线观看免费的www | 国产精品亚洲网红主播 | 日韩制服丝 | 91精品电影| 果冻传媒视频在线 | 亚洲精品在线网址 | 在线国产亚洲91 | 欧美综合自拍亚洲综合图区 | 中文字幕亚洲一区二区三区四 | 欧美va日本va亚洲ⅴa | 99免费在线视频 | 国产精品福利在线观看 | 欧美性狂猛xx| 国产女人 | 国产ol丝袜高跟在线观看不卡 | 三区四区五区高 | 91秦先生在线视频 | 中文在线资源官网在线 | 欧美一级毛卡片免费2025 | 国产va天堂va欧美va | 91羞羞网站 | 日韩一区视频精品无高清在 | 96在线视频精品 | 中文字幕在线 | 2048国产精品原创综合在线 | 精品一区二区三区四区在线播放 | 亚洲精品成人一区二区www | 羞羞影院午夜男女爽爽影视大全 | 国产乱对白刺激视频 | 国产老熟女网站 | 美女福利| 亚洲欧美色国产综合 | 欧美一区二区激情视频在线播放 | 国产精品对白 | 免费国产一级a | 污污污污污www网站免费观看 | 午夜免费福利体验 | 欧美巨大德国肥婆 | 欧美a级情欲片在线观看免费网站 | 国产精品亚洲片夜色在线 | 亚洲伊人色综合www962 | 亚洲午夜成人va在线 | 亚洲欧美日韩激情在线观看 | 午夜视频在线观 | 日韩不卡精品在线观看 | 日韩v手机在线免费观看亚洲 | 国产香蕉尹人在线观看视频 | 免费人成在线蜜桃视频 | 手机在线观看日韩电影大片 | 日韩欧美亚洲一区二区在线观看 | 日韩在线电影大全免费观看 | 2025年最新高清热播电影 | 99国产精品免费观看视频 | 亚洲2025天天堂在线观看 | 亚洲国产精品sss在线观看 | 日本中文字幕在线视频一区 | 人人色在线视频播放 | 亚洲国产欧美日韩精品 | 97视频在线| 绝对真实国产乱 | 亚洲色偷偷综合亚洲v | 成人污污污www网站免费丝瓜 | 极品美女在线观看免费直播 | 一区二区三区四区免费视频 | 国产精品视频大陆免费播放 | 精品理论片免费视频播放 | 区不卡无毒影院 | 免费版在线观看 | 天美传奇mv免费观看完整版 | 欧美精品视频手机在线视频 | 国产小视频福利在线观看高清完整 | 日韩精品一区二区三区中 | 久青草国产在视频青草99在 | 大地资源高清在线视频播放 | 亚洲一区二区三区高清视频 | 国产91丝袜在线精品 | 一区二区三区免费视频 | 人人揉揉揉揉揉日日 | 国产精品日韩精品在线播放 | 亚洲色偷偷综合亚洲v | 亚洲欧美日韩在线资源观看 | 妖精影院 | 国精产品一区二区三区有限 | 鲁丝片一区二区三区免费 | 日本成a人片在 | 亚洲成v人片在线观看www | 成人动视频国产欧美精品 | 亚洲一区在线播放 | 国产精品果冻传媒在线 | 蜜芽va亚洲 | 一区二区三区在线看 | 成人永久免费高清 | 综合网国产国产人 | 欧美日韩中文字幕 | 真实国产日韩欧美全部综合视频 | 香蕉电影 | 国产区综合 | 国产香线 | 国产乡下三级全黄三级bd | 欧美日韩日处女黑人 | 交换配一点不卡 | 国产在线精品一区二区三区 | 2025最新电视剧免费观看 | 尽享高清电影和精彩影视剧 | 国产va免费精品高清在线 | 国产voyeur精品偷窥222 | 国产午夜福利 | 欧美精品成人3d在线 | 日本高清一区二区 | 男女超爽视频免费网站播放 | 在线观看日韩欧美一区二区 | 精品日韩嗷嗷视频在线观看 | 国产欧美精品区一区二区三区 | 国产日产欧产精品 | 中文字幕精品视频第一区第二 | 成人国产综 | 影音先锋男人站 | 欧美丰满老妇熟乱xxxxx视频 | 亚洲呦女专区 | 日韩欧美亚洲国产高清 | 草102| 国产又粗又硬又大爽黄老大爷视 | 亚洲综合一区二区三区四区五区 | 国产免费直播在线观看视频 | 亚洲九九九九精品 | 全视频tv | 国产大片黄在线观 | 乱子伦视频在线看 | 精品熟人 | 2区3区在线观看 | 国产大片b站免费观看推荐 国产91尤物在线观看互 | 中文字幕免费伦费影视 | 国产在线精品国自产 | 日韩最新免费视频一区二区 | 中文欧美乱码视频 | 精品在线视频 | 一区二区三区精品 | 性欧美午夜高清在线观看 | 国产精品一二三区视频网站 | 午夜成人福利电影 | 美女视频黄a视频全免费网站二区 | 在线午夜福利频在线播放 | 44极品视频在 | 99视频精品全部免费在线 | 国产高清在线精品一区在线 | 九九热在线免费观看 | 久热爱精品视频在 | 亚洲成v人片在线观看 | 中国凸偷窥xxxx自由视频 | 亚洲综合一区二区三区 | 日韩精品一区二区国产精品一 | 国产极品翘臀在线观 | 国产一级a爱片在线观看视频 | 欧美一区二区电影免费观看 | 在线观看亚洲精品国产 | 制服丝袜日韩欧美国产 | 亚洲欧美视频一区二区三区 | 国产视频一区二区在线观看 | 天天天天躁天天爱天天碰2025 | 国产精品自在欧美一区 | 亚洲成aⅴ人片在线观看www | 亚洲国产国语自产精品 | 韩国中文全部三级伦在线观看中文 | 日韩欧洲在线精品一区 | 亚洲欧美不卡视频在线播放 | 无人一码二码三码4码免费 91网首页 | 日韩种子| 国产精品+日韩精品+在 | 成人免费a | 日韩精品一区二区三区中文不卡 | 中国亚洲呦女专区 | 国产精品自在拍一区二区不卡 | 欧美激情一区二区三区高清视频 | 日本三级网站在线观看视频 | 天堂资源最新在线 | 区二区三区综合片 | 国产国拍| 二区三在线播放 | 日韩v欧美v中文在线 | 国产人妖视频一区二区 | aⅴ日本亚洲欧洲免费天堂 加勒比综合网 | 日本在线不卡二区三区 | 正在播放一区二区 | 国产精品高清视亚洲精品 | 国产91丝袜在线播放动漫蜜月 | 91蜜芽尤物福利在线观看 | 国产欧美日韩96 | 九九热在线视频 | 老师你下面太紧进不去小黄文 | 日韩视频在线观看 | 2025在线精品自| 免费国产高清视频 | 手机在线看电影的网站 | 精品一区二区三 | 老色鬼在线精品视频 | 狂野欧美性猛交xxxx免费 | 亚洲高清不卡在线观看 | 国产欧美日韩国中文字幕高清在线 | 国产v综合v亚洲欧美大片 | 亚洲v不卡 | 国产精品日韩精品 | 亚洲欧美国产高清va在线播放 | 欧美日韩国产无线码无毒 | 日韩精品一区二区三区蜜桃 | 日韩亚洲产 | 国产人人看在线视频观看 | 成人国产精品一区二区八戒网 | 亚洲欧美激情在线 | 国产欧美一级精品 | 99这里 | 日韩电影欧美综合在线 | 日韩一区二区免费视频 | 亚洲一区二区三区深夜天堂 | 日韩综合精品一区二区 | 日韩亚洲欧洲精品婷婷涩 | 亚洲精品欧| 精品www日韩熟女 | 伊人国产在线视频 | 三三电影网| 日韩成人午夜影院 | 狼群影院视频在线观看高清版 | 99re视频热这里只有精品 | 性生交生活影碟 | 中文字幕亚洲无线码一区女同 | 91制片厂职场冰与火 | 亚洲欧美日韩在线不卡 | 娇妻被交换粗又大又硬彩 | 亚洲欧美国产精品制服 | 国产精品多p对白交换绿 | 国产精品广西柳州 | 午夜亚洲国产理论片秋霞 | 电影免费在线观看 | 亚洲产国偷v | 国产又黄| 免费高清视频免费观看 | 亚洲精品老司机综合影院 | 精品国产福利盛宴在线观看 | 欧美国产中文字幕 | 亚洲国产精品va在线观看香蕉 | 国产在线欧美观看 | 欧美日韩一区二区成人午夜电影网 | 国产精品自在拍一区二区不卡 | 色综合伊人色综合网站 | 九七九七色伦在线影院 | 高清在线?视频大全 | 国产精品国内免费一区二区三区 | 中美日韩亚洲中文专区小说 | 131美女爱做视频 | 亚洲理伦精 | 99这里只有精 | 免费日本国 | 国产精品网红尤物福利在线 | 激情中文小说区图片区 | 国产偷∨国产偷∨精品视频 | 亚洲欧洲日本精品永久在线观看 | 十九岁在线观看免费完整版 | 日韩中文字幕免费视频 | 天堂网www天堂网最新版 | 国产在线精品拍揄自揄免费 | 怡红院熟女 | 激情视频小说在 | 欧美精品人爱a欧美精品 | 国产精品最新高清 | 大地影视mv高清视频在线观看 | 亚洲欧洲中文字幕 | 性欧美午夜高清在线观看 | 91精品国产一区蜜桃 | 国产精品黑人一区二区三区 | 最近中文字幕免费mv视频7 | 国产亚洲综合区成 | 91精品网站天堂系列在 | 日韩在线欧美高清一区 | 片在线观看导航 | 日国产一区三区三区在线观看 | 亚州成人高清国产a | 911精品国产一区二区在线 | 午夜色大片在线观看 | 亚洲中文字幕久 | 在线观看亚洲人成网站 | 亚洲国产日韩不卡线欧美 | 欧美日韩视频 | 国产精品臀控福利在线观看 | 国产亚洲欧美精品一区 | 中文字幕一精品亚洲无线一区 | 国内精品卡一卡二卡三 | 国产精品永久免费视频观看 | 国产免费福利不 | 日韩精品人 | 护士精品一区二区三区 | 成年人在线免费观看视频 | 91影视网 | 又粗又大又黄又爽的免费视频 | 精品国产黑色丝袜高跟鞋 | 亚洲最大 | 国内在线不卡视频 | 国产一级a毛一级a看免 | 日韩综羞羞视频免费网站欧美 | 国产精品亚洲精品一区二区三区 | 三年片在线观看免费观看大全 | 日韩美女永久网址在线观看 | 日韩欧美一区二区三区免费看 | 国产亚洲成年网址在线观看 | 亚洲一级二级三级精品 | 香蕉免费一区二区三区 | 欧美日韩亚州在线 | 九一国产精品视频 | 精品高清美女精品国产区 | 是每一个韩剧迷的韩剧tv! | 五月天丁香激情 | 日韩一区二区三区不卡免 | 日韩高清码中文字幕日韩 | 午夜成人福利电影 | 性色一区二区 | 国产精品高清在线看 | 一道免费一区二区三 | 九九九热在线精品免费全部 | 国产精品玖玖 | 亚洲精品911永久在线观看 | 性感美女网站一区二区三 | 92国产精品午夜福利视色 | 日韩在线一区二区视频中文字幕 | 成人夜间视频 | 欧美视频一区二区专区 | 亚洲欧美日韩综合 | 综合一区二区 | 亚洲一区二区三区香蕉下载 | 777精品成人影院 | 欧洲亚洲视频 | 国产激情国语对白 | 亚洲色熟女图激情另类图区 | 五月丁香六月综合激情在线观看 | 国产免费三级a在线观看 | 欧美一区二区免费 | 全视频tv | 香蕉伊蕉伊中文在线视频 | 蜜桃视频一区二区三区在线观看 | 少女的第一的视频 | 91精品乱码一区二区三区 | 欧美一级a一级a爱片免费免免 | 99re6久精品国产首页 | 天天射天| 国产精品翘臀在线播放 | 精品国产男人的 | 亚洲欧美日韩精品中文乱码 | 国产欧美精品一区二区三区四区 | 不卡视频一区二区三区免费观看 | 最新电影 | 亚洲国产综合视频免费在线 | 青青草自产拍国产精品 | 欧美日韩产精品自在自线 | 日本免费看黄 | 91高清免费国产自产拍 | 免费国产自线拍 | 国产精品日韩欧美在线第3页 | 韩国在线观看日韩免費資訊 | 亚洲第一区国产一区二区精品 | 国产偷伦视频片免费视频 | 九七电影网 | 韩国日产综合在线 | 丝袜在线播放 | 三年片在线观看免费播放大全电影 | 精品影片在线观看的网站 | 一区二区三区中文 | 国产精品三p一区二区视频 h片在线播放免费 | 中文在线欧美亚洲制服 | 亚洲性日韩精品一区二区 | 亚洲国产性夜夜综合 | 国产精品综合影院在线观看 | 欧洲亚洲日本 | 青青成人福 | 51精品国产人成在线观看 | 国产精品h片在 | 三级国产国语三级在线2 | 亚洲国产精品综合一区在线 | 奇优影院 | 中国农村真卖bbwbbw | 99热在线都是精品 | 欧美色综合网站 | 一二三区在线观看 | 国产日韩欧美在线播放 | 亚洲色大成网站www永久网站 | 国产高清在线观看视频 | 国产一区二区三精品久 | 日本又黄又爽gif动态图 | 亚洲一区二区三区首页 | 999精品视频 | 国产一区二区三区精品视 | 国产拍偷精品网最新在线观 | 亚洲欧美日韩国产精品专区网 | 亚洲无线码在线一区观看 | 人成午夜视频在线观看 | 亚洲一级影院 | 99爱免费观看视频在线 | 亚洲欧美网站 | 中文字幕在线视 | 成人国产综 | 好吊色妇女免费视频免费 | 99精品偷拍视频一区二区三区 | 成人午夜试看120 | 亚洲中文字幕乱碼在线观看 | 成在线人永久免费播放视频 | 日韩欧美一二三 | 99视频精品全国在线观 | 天堂mv亚洲mv在 | 国产精品99 | 日本欧美高清全视频 | 国产精品成人免费 | 日韩欧美卡一卡二卡新区 | 成年网站拍拍拍免费播放 | 国产私拍福利精品视频推出 | 性欧美精品一区二区三区在线播放 | 国产91丝袜高跟系列 | 亚洲欧洲国产视频 | 日韩欧美一区二区高清视频 | 日韩一区二区三区美女 | 樱桃视频影 | 午夜看片在线观 | 国语自产精品视频在线看 | 日韩在线观看视频网站 | 国产3级在线观看 | 日本xxx在线观看免费播放 | 国产91精品系 | 国产精品爽爽ⅴa在线观看 欧美精品一区二区三区免费 | 成人欧美精品资源在线观看 | 日本欧美中文字幕福利一区 | 精品国产一区二区在线观看 | 国产在线成本人视频摸腿 | 亚洲精品欧美中文字幕 | 亚洲人精品 | 午夜探花 | 最新日本一道免费一区二区 | 国产亚洲日韩网暴欧美台湾 | 国产男女乱婬真视频免 | 果冻传媒视频一二在线观看 | 国产精品日韩欧美制服 | 亚洲国产精品成人天堂 | 中文有码视频在 | 在线国产视 | 私人影院 | 日干夜干| 热门电影电视剧短剧免费在线观看 | 日日噜噜夜夜狠狠视频无 | 高清一区二区三区视 | a亚洲欧美日韩在线观看 | 国产精品1234 | 亚洲成a人片在线观看 | 91导航在线国产无弹窗 | 99精品国产高清自在线看超 | 护士精品一区二区三区 | 国产午夜亚洲精品理论片不卡 | 综合网www| 欧美高清一区二区三区欧美 | 欧美日韩国产在线人 | 国产网站在线播放 | 国产欧美日韩精品第一区 | 真实国产日韩欧美全部综合视频 | 欧美人成中文视频在线观看 | 高清在线一区 | 亚洲欧美日韩在线综合网 | 一区二区三区四区无限乱码 | 极品美女在线观看免费直播 | 亚洲高清在线观看一区 | 国产乡下三级全黄三级 | 国产日韩欧美亚洲综合 | 亚洲一级淫片免费在线观看 | 日韩中文字幕在线观看 | 在线看国产精品 | 无人视频在线观看免费播放影院 | 中文字幕一区二区三区四区在线 | j8又粗又硬又大又 | 国精产品一二二线网站 | 国产精品9 | 国产日韩在线观看一区福利 | 久99精| 日产亚洲一区二区三区 | 日本一二三区不卡高清区 | 日本三级视频在线观看 | 观看视频 | 手机看片1204日韩 | 日本一区二区三区中文字幕 | 国产精品免费视频网站 | 国自产拍偷拍福利精品免费 | 在线成人免费观看国产精品 | 中文字幕不卡高清dvd | 国产精品一区韩国电影日本 | 精品国产污网站在线观看15 | 青青草免费国产视频网站 | 国产在线观看91精品2025 | 国产精品日韩精品在线 | 国产伦精品一区二区三区免费 | 亚洲欧美日韩激情在线观看 | 久一线视| 欧美性爱中文字幕无 | 精品亚洲成a人在线看片 | 精品一区二区三区视频在线 | 影音先锋女人aa鲁色资 | 亚洲高清中文字幕综合网 | 永久免费老妇女 | 天天色亚洲 | 九九视频免费精品视频 | 2025年最新中文字幕 | 宝贝乖把腿分大一点h欧阳凝小说 | 亚洲国产日韩在线播放 | а√新版天堂资源中文8 | 亚洲精品熟女 | 精品一区卡2卡3卡 | 91精品啪在线观看 | 日韩成人免费精品视频 | 性夜夜夜夜夜夜爽 | 国产91丝袜在线播放网站 | 精品亚洲国产成v人片传媒 欧美性猛 | 亚洲国产日韩一级精品视频网站 | 亚洲丝袜制服欧美另类 | 日韩综合在线欧美中文字幕 | 三级在线观看免费观看电影 | 国产人妖的免 | 最新热门免费电影 | 亚洲精品亚洲欧美综合区 | 国产精品午夜自在在线精品 | 91精品国产免费网站 | 成欢阁免费入口在线观看 | 一二三四视频中文成人 | 欧美日韩国产在线播放 | 涩涩欧美 | 亚洲国产日韩在线播放 | 国产91l在线播放 | 亚洲精品久荜中文字幕 | 国产又粗又硬又大爽黄老大爷视 | 欧美国产日本高清不卡 | 免费观看国产一区二区三区 | 粗又爽电影 | 国语自产偷拍精 | 亚洲日本欧美日韩髙清观看 | 国产网红主播自拍视频在线观看 | 国产精品青青青高清在线 | 星空影院 | 二区视频在线观看 | 潘金莲与西门庆床戏在线 | 日韩一区二区超清视频 | 欧美日韩国产精品二区在线观看 | 日本免费三片在 | 中文字幕自拍偷拍 | 日本中文字幕在线视频一区 | 日本特级一区二区三区大片 | 一本一本大道香蕉久在线精品 | 一区二区三区四区免费视频 | 欧洲乱码专区一区二区三区四区 | 国内成人精品亚洲 | 1024国产 | 国产大片b站免费观看推荐 国产91尤物在线观看互 | 人成视频在线观看 | 免费观看网站 | 999www人成免费视频 | 一区二区三区在线 | 亚洲精品蜜桃 | 星空天美麻花视频大全 | 国产欧美日韩精品在线观看 | 国产亚洲一区二区手机在线观看 | 欧美日韩国产一区二区 | 97碰碰碰视频在线观看 | 污视频在线观看国产的 | 日韩精品o欧美精品亚洲精品 | 337p日本欧洲亚洲大胆在线 | 特色大片免费看 | 欧美亚洲制服 | 日本网站在线播放 | 国产又黄又爽刺激视频 | 欧美亚洲精品在线 | 日本黄页免费大片在线观看 | 国产精品色三级在线观看 | 精品aⅴ老司机天堂网站 | 久章草在线| 亚洲天堂网一区二区三区四区 | 九九中文字幕国产 | 精品蜜臀一区二区三区在线 | 国产盗摄电影区9876色 | 欧美激情一区二区三区高清视频 | 囯产精品宾馆在线精品酒店 | 日本高清va在线播放 | 亚洲自拍高清中文 | 亚洲第一精品电影网 | 人与动人物a级在线播放 | 日韩欧美国产精 | 精品国产蜜桃臀在线观看 | 国产老熟女狂 | 香蕉成人伊视频在线观看 | 乱子午夜国产电 | 国产欧美日韩资源在线观看 | 亚洲韩精品欧美一区二区三区 | 亚洲国产韩国欧美在线 | 欧洲亚洲精 | 51精品国产人成在线观看 | 国产一区不卡在线观看 | 国产欧洲精品自在自线官方 | 欧美乱大交xxxxx变态 | 欧美+日韩+中文字幕 | 色一情一乱一乱一 | 国产女主播午夜福利在线观看 | 日本亚洲黑人在线播放 | 午夜伦情电午夜伦情电影 | 日本三级韩国三级欧美三级 | 国内精品视频九九九九 | 免费影视资源大全 | 国产日韩欧美亚洲精品中字 | 2025国产精品www网站 | 欧美日韩成人在看 | 精品第一国产久精国产宅男66 | 国产在线观看www | 男女超爽视频免费播放 | 得得啪在线视频观看 | 亚洲欧洲日产国码久在线观看 | 成人午夜看片在线观看 | 91成人精品一区二区三区四区 | 免费看国产 | 成人α片免费视频在线观看 | 中文字幕日本αv一区二区 乱伦国产精品日本 | 欧美三区日韩一 | 日本三级全黄 | 亚洲第二页 | 日本免费一区二区在线看片 | 精品精品国产欧美在线观看 | 欧美精品videosex性欧美 | 国产精品成人va在线 | 国产xx | 免费国产va在线观看视频 | a国产片免费看视频 | 综合欧美一区二区三区 | 91丝袜诱惑一 | 国产黄大片在线视频 | 日韩一区二区三区免费播放 | 国色天香中文在线观看www | 精品国产一级在线观看 | 97视频在线观看视频 | 一级免费视频在线观看 | 日韩妇女成人 | 三年片在线观看免费大全电影 | 欧美日韩一区二区三区视频 | 日韩精品无 | 国产亚洲无 | 亚洲精品中文字幕视频网站 | 亚洲色大成网站www永久 | a∨中文字幕另类 | ynzhcl.org.cn| 国产亚洲精品午夜高清影院 | 99在线精品 | 国产一级淫片a免费播放口欧美 | 国产v综合v亚洲欧美大天堂 | 欧美日韩国产 | 91秦先生在线视频 | 姝姝窝人体ww | 日韩中字在线 | 国产视频高清在线观看 | 亚洲一区二区三区精品影院 | 欧美日韩国产色综合一二三四 | 含羞草国产亚洲精品岁国产精品 | 国产女人精品视 | 日韩国产欧美视频在线播放 | 欧美日本到一区二区三区 | 欧美一区二区三区精品国产 | 秋霞人成在线观看免费视频 | 午夜福利理论片 | 国产精品不卡在线观看的a站 | 欧美日韩国产综合一区精 | 色一情一乱一伦 | 国产乱国 | 亚洲制服丝袜自拍中文字幕 | 三年片观看免费观看大全 | 欧洲精品色在线观 | 亚洲中文字幕高清有码在线 | 欧美激情一区二区三区高清视频 | 日本免费一区二区在线观看 | 99精品视频在线观看 | 国内外精品激情刺激在线 | 欧美高清另类自拍视频在线看 | 国产一区精品视频 | 亚洲欧美日韩二区三区 | 午夜高清性色生活片 | 中文字幕婷婷在 | 欧美精品一区二区三区中文 | 女人靠逼视频不卡的 | 日韩a∨精品一区二区三区 国产亚洲视频中文字幕97精品 | 国产特黄精品一区二区在线 | 国产又粗又大视频 | 色一情一乱一乱一 | 中文字幕日韩精品一 | 精品视频一区二区三 | 国产精品一区二区国产 | 看看永久 | 色偷偷亚洲女人天堂观看欧 | xnxxfreeporn | 天天色成人免費 | 亚洲国产精品色一区二区 | 国产精品三级不卡电影 | 国产精品亚洲精品一区二区三区 | 亚洲人成在线观看网站播放 | 中国老熟女重囗味hdxx | 99热精| 国产a级三级三级三级 | 三三影视 | 一区二区三区日韩免费 | 少女频道在线观看高清 | 精品一区二区三 | 日韩中文网 |