亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 037.htm

?? delphi編程
?? HTM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎(chǔ)教程-->第十五章 數(shù)據(jù)訪(fǎng)問(wèn)部件的應(yīng)用及編程(二)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎(chǔ)教程 第十五章 數(shù)據(jù)訪(fǎng)問(wèn)部件的應(yīng)用及編程(二)">
<META NAME="description" CONTENT=" - DELPHI基礎(chǔ)教程 - 第十五章 數(shù)據(jù)訪(fǎng)問(wèn)部件的應(yīng)用及編程(二)">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#e0e0e0"><strong><A HREF="038.htm"><FONT style="FONT-SIZE: 9pt">后一頁(yè)</font></A><BR>
<A HREF="036.htm"><FONT style="FONT-SIZE: 9pt">前一頁(yè)</font></A><BR>

<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
<A HREF="../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首頁(yè)</font></A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">第十五章 數(shù)據(jù)訪(fǎng)問(wèn)部件的應(yīng)用及編程(二)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
</font><p>15.3.6 數(shù)據(jù)集部件的事件 </p>
<p>&nbsp;&nbsp;&nbsp; 數(shù)據(jù)集部件TTable或TQuery具有很多的事件。為這些事件編寫(xiě)相應(yīng)的程序代碼可以進(jìn)行有效性驗(yàn)證、計(jì)算可計(jì)算字段的值、確認(rèn)對(duì)數(shù)據(jù)庫(kù)表的多種操作等等。這些事件及其描述如表15.4所示。 </p>
<p>表15.4 數(shù)據(jù)集部件常用的事件</p>
<p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<p>事 件 描 述</p>
<p>───────────────────────────────────</p>
<p>BeforeOpen,Afteropen 在數(shù)據(jù)集部件被打開(kāi)之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>BeforeClose,Afterclose 在數(shù)據(jù)集部件被關(guān)閉之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>BeforeInsert,AfterInsert 在數(shù)據(jù)集部件進(jìn)入插入狀態(tài)之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>BeforeEdit,AfterEdit 在數(shù)據(jù)集部件被編輯之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>BeforePost,AfterPost 在數(shù)據(jù)集部件投寄被修改的記錄之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>BeforeCancel,AfterCancel 在數(shù)據(jù)集部件取消前一步操作之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>BeforeDelete,AfterDelete 在數(shù)據(jù)集部件刪除當(dāng)前記錄之前/之后被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>OnNewRecord 當(dāng)建立一條新記錄時(shí)被觸發(fā)</p>
<p>───────────────────────────────────</p>
<p>OnCalcFields 當(dāng)為表中的計(jì)算字段計(jì)算字段值時(shí)被觸發(fā)</p>
<p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ </p>
<p align="center">15.4 TTable部件及應(yīng)用 </p>
<p>在前一節(jié)里我們介紹了數(shù)據(jù)集部件TTable 和TQuery
的共同的一些屬性和方法。TTable部件是Delphi數(shù)據(jù)庫(kù)編程中要經(jīng)常使用的最重要的部件之一,它是數(shù)據(jù)庫(kù)應(yīng)用程序訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)必須使用的數(shù)據(jù)集部件之一,在這一節(jié)里,我們重點(diǎn)介紹TTable部件特有的屬性和方法,TTable部件所有的屬性、方法和事件都可以在聯(lián)機(jī)幫助中查到。 </p>
<p>15.4.1 TTabel部件主要的屬性 </p>
<p>DatabaseName屬性和TableName屬性:</p>
<p>DatabaseName屬性是說(shuō)明數(shù)據(jù)庫(kù)應(yīng)用程序所操作的數(shù)據(jù)庫(kù)的名字,它可以是由BDE定義的數(shù)據(jù)庫(kù)的別名、顯式說(shuō)明的數(shù)據(jù)庫(kù)文件所在的磁盤(pán)路徑或者由TDatabase部件定義的一個(gè)數(shù)據(jù)庫(kù)名。DatabaseName屬性常常是一個(gè)由BDE定義的數(shù)據(jù)庫(kù)的別名。使用由BDE定義的數(shù)據(jù)庫(kù)的別名代替數(shù)據(jù)庫(kù)實(shí)際所在的路徑和名字,好處是當(dāng)實(shí)際的數(shù)據(jù)庫(kù)存放的位置發(fā)生變化時(shí),只需利用BDE簡(jiǎn)單地設(shè)置一下該數(shù)據(jù)庫(kù)的別名,而數(shù)據(jù)庫(kù)應(yīng)用程序無(wú)需修改。有關(guān)BDE的使用請(qǐng)參看BDE的設(shè)置應(yīng)用。TabelName屬性用以說(shuō)明當(dāng)前TTable部件所連接的實(shí)際的數(shù)據(jù)庫(kù)表。這兩個(gè)屬性一般都在設(shè)計(jì)階段指定,當(dāng)然在程序運(yùn)行過(guò)程中也可以設(shè)置,但是要修改這兩個(gè)屬性時(shí),
必須要在TTabel的Active屬性為False時(shí)進(jìn)行,當(dāng)TTable的Active屬性為T(mén)rue時(shí),這兩個(gè)屬性是不能被修改和設(shè)置的。</p>
<p>TableType屬性:</p>
<p>該屬性說(shuō)明與TTable部件相連接的數(shù)據(jù)庫(kù)表的類(lèi)型。當(dāng)TableType屬性設(shè)置成Default時(shí),該屬性所說(shuō)明的數(shù)據(jù)庫(kù)表的類(lèi)型由數(shù)據(jù)庫(kù)文件的擴(kuò)展名決定。</p>
<p>● 若數(shù)據(jù)庫(kù)文件的擴(kuò)展名為.DB或沒(méi)有擴(kuò)展名,表的類(lèi)型是Paradox表</p>
<p>● 若數(shù)據(jù)庫(kù)文件的擴(kuò)展名為.DBF時(shí),表的類(lèi)型是dBASE表</p>
<p>● 若數(shù)據(jù)庫(kù)文件的擴(kuò)展名為.TXT時(shí),表的類(lèi)型是ASCII表 </p>
<p>如果TableType屬性不設(shè)定為Default,那么與TTable
部件相連的數(shù)據(jù)庫(kù)表的類(lèi)型由TableType中的設(shè)置的值決定,不用考慮數(shù)據(jù)庫(kù)文件的擴(kuò)展名。</p>
<p>KeyExclusive屬性:</p>
<p>該屬性的一個(gè)作用是說(shuō)明在數(shù)據(jù)庫(kù)表中查找記錄時(shí),將記錄移到與查找值相匹配的記錄處還是將記錄指針移到與查找值相匹配的記錄后面一條記錄處。
該屬性是布爾型變量,當(dāng)它的值為False時(shí)(缺省情況下為False),
將記錄指針移到相匹配的記錄處,為T(mén)rue時(shí),將記錄指針移到相匹配記錄的后面一條記錄處。該屬性另一個(gè)作用是在表中指定檢索范圍時(shí),用來(lái)說(shuō)明是否包括滿(mǎn)足過(guò)濾條件的邊界記錄。當(dāng)KeyExclusive的值為False時(shí),檢索范圍包括邊界記錄,否則不包括邊界記錄,有關(guān)詳細(xì)的操作請(qǐng)參看“限定表中記錄的檢索范圍”。</p>
<p>IndexFields屬性和IndexFieldsCount屬性:</p>
<p>IndexFields的屬性值是數(shù)據(jù)庫(kù)表中字段名列表,它包含與TTable部件相連的數(shù)據(jù)庫(kù)表中的全部索引字希。IndexFieldsCount屬性說(shuō)明表中索引字段的個(gè)數(shù)。這兩個(gè)屬性值都是只讀的,只有在程序運(yùn)行過(guò)程中可用。</p>
<p>IndexName屬性和IndexFieldNames屬性:</p>
<p>IndexName屬性中存放著在建立數(shù)據(jù)庫(kù)表時(shí)為數(shù)據(jù)庫(kù)表定義的所有輔助索引名,它是一個(gè)輔助索引名列表,是只讀屬性。IndexFieldNames屬性指定用于數(shù)據(jù)庫(kù)表索引排序的字段名,多個(gè)字段名之間用分號(hào)隔開(kāi)。例如對(duì)Customer.DB表中的客戶(hù)記錄按郵政編碼ZipCode和客戶(hù)號(hào)碼CustNo排序時(shí)可以設(shè)定IndexFieldNames的值為:</p>
<p>ZipCode ; CustNo</p>
<p>在IndexFieldNames屬性中指定的字段必須存在于相應(yīng)的數(shù)據(jù)庫(kù)表中,否則會(huì)導(dǎo)致錯(cuò)誤。IndexName和IndexFieldName是互斥的,每次只能指定其中一個(gè)屬性的值,不能同時(shí)為兩個(gè)屬性都指定屬性值。</p>
<p>Exclusive屬性:</p>
<p>該屬性是一個(gè)布爾型屬性,它標(biāo)明是否以共享方式打開(kāi)數(shù)據(jù)庫(kù)表,如果Exclusive的值為T(mén)rue,當(dāng)打開(kāi)一個(gè)數(shù)據(jù)庫(kù)表時(shí),其他用戶(hù)就不能訪(fǎng)問(wèn)該表了,若Exclusive的值為False,將以共享方式打開(kāi)一個(gè)數(shù)據(jù)庫(kù)表。
顯然不能將其他用戶(hù)正在訪(fǎng)問(wèn)的表以互斥方式打開(kāi)(設(shè)定Exclusive的值為T(mén)rue)。對(duì)于SQL數(shù)據(jù)庫(kù)服務(wù)器上的數(shù)據(jù)庫(kù)表,當(dāng)以互斥方式被一個(gè)用戶(hù)打開(kāi)時(shí),其他用戶(hù)可以讀取該表中的數(shù)據(jù),但不能修改表中的數(shù)據(jù),當(dāng)然有些數(shù)據(jù)庫(kù)服務(wù)器不支持這種方式,這要具體參看有關(guān)的數(shù)據(jù)庫(kù)服務(wù)器的文檔。</p>
<p>ReadOnly屬性和CanModify屬性:</p>
<p>這兩個(gè)屬性都是布爾型屬性,ReadOnly屬性決定用戶(hù)是否能夠?qū)Ρ碇械臄?shù)據(jù)進(jìn)行讀寫(xiě)。ReadOnly為T(mén)rue
時(shí),用戶(hù)只能讀取表中的數(shù)據(jù),ReadOnly為False時(shí),用戶(hù)可以讀寫(xiě)表中的數(shù)據(jù)(假設(shè)數(shù)據(jù)庫(kù)已授權(quán)用戶(hù)能夠讀寫(xiě)其中的數(shù)據(jù)庫(kù)表)。CanModify屬性是一個(gè)只讀屬性,用戶(hù)不能夠修改其屬性值,它反映了用戶(hù)對(duì)數(shù)據(jù)庫(kù)表?yè)碛械膶?shí)際特權(quán),當(dāng)ReadOnly為T(mén)rue時(shí)CanModify將自動(dòng)地被置為False,當(dāng)ReadOnly為False時(shí),如果數(shù)據(jù)庫(kù)允許用戶(hù)對(duì)表進(jìn)行讀寫(xiě)時(shí),CanModify為T(mén)rue,否則CanModify為False。當(dāng)CanModify為False時(shí),數(shù)據(jù)庫(kù)表是只讀的,但不能將其置成編輯狀態(tài)或插入狀態(tài);當(dāng)CanModify屬性為T(mén)rue時(shí),雖然數(shù)據(jù)庫(kù)表對(duì)應(yīng)的數(shù)據(jù)集部件可以置成編輯和插入狀態(tài),但是這并不意味著用戶(hù)能夠插入和修改表中的數(shù)據(jù),因?yàn)檫@還要受到其他因素的限制,如用戶(hù)對(duì)SQL數(shù)據(jù)庫(kù)服務(wù)器的訪(fǎng)問(wèn)權(quán)限等的限制。</p>
<p>TTable部件還有其他一些屬性請(qǐng)參看聯(lián)機(jī)幫助</p>
<p> </p>
<p>15.4.2 TTable部件的方法及應(yīng)用</p>
<p> </p>
<p>15.4.2.1 設(shè)定數(shù)據(jù)庫(kù)表的使用范圍</p>
<p> </p>
<p>在我們實(shí)際應(yīng)用中的數(shù)據(jù)庫(kù)表中常常存放著大量的數(shù)據(jù)信息,其中包含著很多的記錄,而我們的應(yīng)用程序可能只需對(duì)其中一部分記錄進(jìn)行操作,因此,為應(yīng)用程序指定一個(gè)使用范圍就顯得特別重要了,為方便有效地指定數(shù)據(jù)庫(kù)表的使用范圍Delphi為T(mén)Table部件提供了下列方法供用戶(hù)使用:</p>
<p>● SetRangeStart和EditRangeStart方法</p>
<p>● SetRangeEnd和EditRangeEnd方法</p>
<p>● SetRange([Start Values],[End Values])方法</p>
<p>● ApplyRange方法</p>
<p>● CancelRange方法</p>
<p> </p>
<p>1. SetRangeStart方法</p>
<p>用于指定檢索范圍的起始記錄,調(diào)用SetRangeStart方法之后,可以為起始記錄的一個(gè)或多個(gè)字段指定相應(yīng)的字段值。SetRangeEnd方法用于指定檢索范圍的結(jié)束記錄,調(diào)用SetRangeEnd方法之后,可以為結(jié)束記錄的一個(gè)或多個(gè)字段指定相應(yīng)的字段值。</p>
<p> </p>
<p>2. SetRange方法</p>
<p>SetRange方法包含了SetRangeStart和SetRangeEnd方法的功能,它可以同時(shí)指定檢索范圍的起始和結(jié)束記錄,起始記錄和結(jié)束記錄的字段值以數(shù)組形式送給SetRange,其基本形式是:</p>
<p>SetRange([起始值],[結(jié)束值])</p>
<p> </p>
<p>3. ApplyRange方法</p>
<p>根據(jù)SetRangeStart,SetRangeEnd或SetRange方法說(shuō)明的檢索范圍的起始和結(jié)束記錄,具體設(shè)定一個(gè)檢索范圍,調(diào)用ApplyRange方法之后,
應(yīng)用程序只能對(duì)檢索范圍內(nèi)的記錄進(jìn)行有關(guān)的操作。</p>
<p> <dir>
<p>4. CancelRange方法</p>
</dir>
<p>CancelRange方法的作用與ApplyRange方法的作用是相反的,這是取消為表設(shè)定的檢索范圍,調(diào)用CancelRange方法之后應(yīng)用程序可以對(duì)表中全部記錄進(jìn)行有關(guān)的操作。</p>
<p>在這里要注意的是:如果我們使用的是paradox表或dBASE表,在調(diào)用SetRangeStart,SetRangeEnd以及SetRange方法時(shí),只能為表中的索引字段或定義的索引指定相應(yīng)的字段值,以設(shè)定檢索范圍。如果使用SQL數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)表,可以為IndexFieldNames屬性中指定的字段指定相應(yīng)的字段值。</p>
<p>例如:假設(shè)Table1與Customer.DB表相連,Customer.DB中一個(gè)索引字段是CustNo,同時(shí)應(yīng)用窗體中有兩個(gè)編輯框StartVal和EndVal用于輸入起始、結(jié)束記錄的字段CustNo的值,下面的程序代碼便可以為我們?cè)O(shè)定一個(gè)檢索范圍:</p>
<p> </p>
<p>Tabel1.SetRangeStart; {指定檢索范圍的起始記錄}</p>
<p>Tabel1CustNo.AsString:= StartVal.Text {為起始記錄的CustNo字段指定字段值}</p>
<p>Tabel1.SetRangeEnd; {指定檢索范圍的結(jié)束記錄}</p>
<p>if EndVal.Text &lt;&gt; ' ' then</p>
<p>Tabel1CustNo.AsString := EndVal.Text; {為結(jié)束記錄的CustNo 字段指定字段值}</p>
<p>Tabel1.ApplyRange; {根據(jù)檢索范圍的起始、結(jié)束記錄設(shè)定檢索范圍}</p>
<p> </p>
<p>注意上面的程序代碼,在為結(jié)束記錄的CustNo字段指定字段值時(shí),
首先檢查EndVal的值是否為空,如果EndVal的值為空,那么設(shè)定的檢索范圍沒(méi)有包含一條記錄,
因?yàn)闆](méi)有任何記錄的字段值小于NIL;如果StartVal的值為空,那么檢索范圍將從表中的第一條記錄開(kāi)始,因?yàn)楸碇腥魏斡涗浀淖侄沃刀即笥诳?NIL)。</p>
<p>上述代碼可以用SetRange方法改寫(xiě)成:</p>
<p> </p>
<p>If EndVal.Text &lt;&gt;' ' then</p>
<p>Tabel1.SetRane([StartVal.Text].[EndVal.Text]);</p>
<p>Table1.ApplyRange;</p>
<p> </p>
<p>EditRangeStart和EditRangeEnd方法的使用完全類(lèi)似于SetRangeStart和SetRangeEnd方法,只是調(diào)這兩個(gè)方法是設(shè)定一個(gè)可編輯的范圍。</p>
<p>又如:假設(shè)一個(gè)表中的一個(gè)索引包含兩個(gè)字段LastName和FirstName,我們?yōu)樗饕械囊粋€(gè)字段或多個(gè)字段指定相應(yīng)的字段值,設(shè)定數(shù)據(jù)庫(kù)表的使用范圍。</p>
<p> </p>
<p>Table1.SetRangeStart;</p>
<p>Table1.FieldByName('LastName').Asstring := 'Smith';</p>
<p>Table1.SetRangeEnd;</p>
<p>Tabel1.ApplyRange;</p>
<p> </p>
<p>上述代碼設(shè)定的范圍包括LastName字段的值大于或等于Smith的所有記錄。而下面的代碼設(shè)定的范圍則包括LastName字段的值大于或等于Smith且FirstName字段的值大于或等于'J'的記錄。</p>
<p> </p>
<p>Table1.SetRangeStart;</p>
<p>Table1.FieldByName('LastName').Asstring := 'Smith';</p>
<p>Table1.FieldByName('FirstName').Asstring := 'J';</p>
<p>Table1.SetRangeEnd;</p>
<p>Tabel1.ApplyRange;</p>
<p> </p>
<p>15.4.2.2 查找數(shù)據(jù)庫(kù)表中的記錄</p>
<p> </p>
<p>如果想查找數(shù)據(jù)庫(kù)表中的記錄,必須想指定查找記錄的一些字段的字段值,然后在表中進(jìn)行檢索,檢索出與查找值相匹配的記錄來(lái)。如果我們是在Paradox或dBASE數(shù)據(jù)庫(kù)中的表中查找記錄,那么查找值所對(duì)應(yīng)的字段必須是表中的關(guān)鍵字段或輔助索引字段。如果查找SQL數(shù)據(jù)庫(kù)服務(wù)器中的表,那么查找值必須是表的IndexFieldNames屬性中指定的字段。</p>
<p>Delphi提供了兩種方式在數(shù)據(jù)庫(kù)表中查找記錄:Goto方式和Find方式。這兩種方式十分相似,它們的主要區(qū)別在于為查找指定查找值的方法不一樣。</p>
<p>使用Goto方式進(jìn)行數(shù)據(jù)查找使用的方法有SetKey方法、GotoKey方法和GotoNearest方法。其實(shí)際步驟如下:</p>
<p> </p>
<p>①確保要查找的字段是關(guān)鍵字段或輔助索引字段。</p>
<p>②調(diào)用SetKey方法把與表對(duì)應(yīng)的TTable部件置成查找狀態(tài)。</p>
<p>③把查找值賦給相應(yīng)的字段。</p>
<p>④調(diào)用GotoKey方法,并測(cè)試它的返回值檢驗(yàn)查找是否成功。</p>
<p> </p>
<p>假設(shè)Table1對(duì)應(yīng)的表中第一個(gè)字段是關(guān)鍵字段,Edit1是應(yīng)用窗體中的一個(gè)編輯框,用戶(hù)可以通過(guò)Edit1輸入查找值。下面的代碼將通過(guò)Goto方式進(jìn)行查找。</p>
<p> </p>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费| 欧美老女人第四色| 丁香一区二区三区| 国产一区二区伦理| 狠狠色狠狠色合久久伊人| 日本va欧美va欧美va精品| 日韩精品亚洲一区| 日本免费新一区视频| 日韩成人午夜电影| 日本亚洲最大的色成网站www| 午夜精品久久久久影视| 日韩一区精品字幕| 麻豆精品久久精品色综合| 麻豆国产精品官网| 精品亚洲成av人在线观看| 国产一区不卡在线| 丁香一区二区三区| 色综合天天综合狠狠| 日本高清不卡在线观看| 欧美日韩成人一区| 欧美成人猛片aaaaaaa| 久久久久一区二区三区四区| 中文av一区二区| 亚洲激情图片一区| 日本在线不卡视频| 国产美女精品人人做人人爽| 成人激情小说乱人伦| 91久久奴性调教| 91精品国产综合久久精品app| 日韩精品一区二区三区视频在线观看 | 国内精品在线播放| 成人黄色电影在线| 欧美性猛片aaaaaaa做受| 欧美一区二区三区免费观看视频| 精品电影一区二区| 国产精品初高中害羞小美女文| 亚洲乱码国产乱码精品精小说| 日韩有码一区二区三区| 国产精品1区2区3区| 色综合视频在线观看| 欧美一区二区女人| 日本一区二区三区在线观看| 亚洲精品高清在线观看| 日本美女视频一区二区| 国产成人99久久亚洲综合精品| 色综合久久久网| 欧美一级淫片007| 国产精品久久久久久久久快鸭 | 国产成人av一区二区三区在线| 97久久超碰国产精品电影| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲成a人v欧美综合天堂下载 | 蜜臀久久99精品久久久久宅男| 国产精品99精品久久免费| 91久久人澡人人添人人爽欧美| 欧美大片日本大片免费观看| 最新日韩在线视频| 久久国产精品露脸对白| 色网站国产精品| 久久婷婷色综合| 亚洲第四色夜色| 成人app在线| 日韩视频一区二区| 洋洋成人永久网站入口| 国产麻豆精品久久一二三| 欧美日韩国产小视频在线观看| 欧美激情在线看| 久久精品国产第一区二区三区 | 亚洲精品国久久99热| 韩国在线一区二区| 欧美军同video69gay| 亚洲人成网站精品片在线观看| 精品伊人久久久久7777人| 欧美日韩在线播放一区| 国产精品美女久久久久久2018| 麻豆国产精品777777在线| 欧美视频中文一区二区三区在线观看| 中文字幕乱码久久午夜不卡 | 成人小视频免费在线观看| 欧美一区二区三区在线观看视频| 亚洲少妇最新在线视频| 懂色一区二区三区免费观看| 精品国产污污免费网站入口 | 成人一道本在线| 欧美α欧美αv大片| 婷婷丁香久久五月婷婷| 色一情一乱一乱一91av| 欧美激情综合五月色丁香小说| 精品一区二区三区在线观看 | 亚洲女同女同女同女同女同69| 国产成人综合在线观看| 欧美r级电影在线观看| 日韩av中文字幕一区二区| 欧美性生活大片视频| 亚洲精品乱码久久久久久日本蜜臀| 成人涩涩免费视频| 久久精品日产第一区二区三区高清版| 久久国产麻豆精品| 欧美tk—视频vk| 久久av资源网| 精品国内片67194| 精品亚洲国内自在自线福利| 精品久久久久久久久久久院品网 | 国产欧美日韩三区| 国产美女娇喘av呻吟久久| 欧美www视频| 久久99精品国产麻豆婷婷| 欧美zozozo| 色综合一个色综合亚洲| 一区二区三区在线免费播放| 色婷婷激情综合| 亚洲一区欧美一区| 欧美色视频一区| 日本网站在线观看一区二区三区| 欧美精选一区二区| 免费人成精品欧美精品| 欧美哺乳videos| 国产精品综合一区二区| 国产欧美精品国产国产专区| 国产剧情一区二区| 国产偷国产偷精品高清尤物| 成人影视亚洲图片在线| 成人免费在线视频| 在线观看一区不卡| 日韩精品一二三四| 精品久久国产字幕高潮| 九九在线精品视频| 国产视频一区二区在线观看| 成人激情免费视频| 亚洲在线视频网站| 日韩欧美在线123| 国产精品18久久久久| 国产精品久久久久9999吃药| 色婷婷av一区二区三区大白胸| 亚洲已满18点击进入久久| 欧美区视频在线观看| 精品无人区卡一卡二卡三乱码免费卡| 久久精品一区二区三区四区| 97久久精品人人做人人爽50路| 亚洲午夜激情网页| 精品福利在线导航| 99精品久久只有精品| 午夜精品成人在线视频| 欧美精品一区视频| 色综合一个色综合亚洲| 日本成人在线电影网| 国产亚洲精品bt天堂精选| 一本大道久久a久久综合| 日本成人在线电影网| 国产精品婷婷午夜在线观看| 欧美中文字幕一区| 国产一区二区精品久久99| 成人欧美一区二区三区视频网页| 欧美精品一卡二卡| 成人精品小蝌蚪| 石原莉奈在线亚洲二区| 国产目拍亚洲精品99久久精品| 91成人免费电影| 国产美女视频一区| 亚洲国产aⅴ成人精品无吗| 精品国产欧美一区二区| 92精品国产成人观看免费| 久久国产夜色精品鲁鲁99| 一区二区高清在线| 久久五月婷婷丁香社区| 日本福利一区二区| 国产盗摄一区二区三区| 午夜亚洲国产au精品一区二区| 国产亚洲美州欧州综合国| 欧美天堂一区二区三区| 顶级嫩模精品视频在线看| 美脚の诱脚舐め脚责91| 亚洲乱码日产精品bd| 欧美极品少妇xxxxⅹ高跟鞋 | 国产蜜臀av在线一区二区三区| 欧美日韩激情一区二区| 99re热这里只有精品视频| 久久国产日韩欧美精品| 丝袜美腿亚洲一区二区图片| 亚洲欧美一区二区三区久本道91| 精品国产一区二区三区不卡 | 1024国产精品| 国产午夜精品一区二区三区四区| 91精品国产一区二区人妖| 色婷婷久久综合| 99精品偷自拍| 岛国精品一区二区| 国产在线不卡视频| 久久国产精品99久久人人澡| 亚洲不卡av一区二区三区| 亚洲婷婷综合久久一本伊一区| 久久精品一区二区三区不卡 | 中文字幕不卡在线| 久久婷婷色综合| 久久一夜天堂av一区二区三区| 欧美一区欧美二区| 欧美日韩和欧美的一区二区| 欧美性受极品xxxx喷水| 色综合欧美在线视频区| 99re成人在线|