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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 033.htm

?? delphi教程
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>—DELPHI基礎教程—第十四章 簡單數據庫應用的創建及MASTAPP介紹(一)</TITLE><META NAME="keywords" CONTENT=" DELPHI基礎教程 第十四章 簡單數據庫應用的創建及MASTAPP介紹(一)"><META NAME="description" CONTENT=" - DELPHI基礎教程 - 第十四章 簡單數據庫應用的創建及MASTAPP介紹(一)"><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"  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%"  ><strong><A HREF="034.htm"><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR><A HREF="032.htm"><FONT style="FONT-SIZE: 9pt">前一頁</font></A><BR><A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR></strong></TD><TD class="tt2"  width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="隸書">第十四章 簡單數據庫應用的創建及MASTAPP介紹(一)</FONT></B></center><hr  width="94%"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delphi中嵌入的數據庫應用開發工具如DatabaseForm Expert具有很強大的功能,我們不需要編寫任何程序代碼便可以快速地創建一個簡單的數據庫應用程序,甚至還能創建基于多個數據庫表的主要──明細型數據庫應用程序。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本章主要介紹用Delphi開發簡單的數據庫應用程序的一般方法和步驟,首先讓讀者對Delphi強勁的數據庫應用開發工具有一個直觀的印象,然后在此基礎上進行復雜的數據庫應用程序的設計,本章主要包括以下內容:</p><p>● 創建數據庫應用窗體</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 包括用Database Form Expert或手工方式創建簡單的無需編寫程序代碼的應用程序或者利用多個部件并編寫功能復雜的程序代碼創建主要──明細型數據庫應用程序。</p><p>● 在應用程序中控制字段有關的屬性</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 描述怎樣讀寫數據庫表中字段的值和控制字段的顯示格式等。</p><p> </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本章所介紹的例子中用到的窗體、數據庫表以及相關的文件都是在安裝Delphi時缺省安裝在C:\DELPHI\DEMOS\DB\MASTAPP目錄中,并且用別名DBDEMOS表示這一子目錄。在本章例子中,除特殊聲明外,所有的TTable和 TQuery 部件的 DatabaseName屬性都設置為DBDEMOS。</p><p align="center">14.1 簡單的基于單表的據庫應用 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用Decphi創建顯示一個數據庫表中的內容的應用非常簡單和方便,只需要三個部件,只要將這三個部件通過相關的屬性相互聯系起來,不需要編寫任何程序代碼便可以實現。例如,用戶想查看數據庫表Customer.DB中的內容時,可以按下面步驟來實現: </p><p>14.1.1 選擇相關的部件: </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 選擇菜單Project/New開始一個新工程,并修改Form1的Caption屬性為CustomerFrom1并把Name屬性設置為CustomerForm1,然后從部件選擇板上的DataAccess 頁上選取一個Datasounce部件和一個Table部件放到窗體的左上角,它們是非可見的部件,在窗體中我們看到的只是部件的圖標;從Data Control頁上選取DBGrid部件放到窗體中前兩個部件的下面。完成這些工作之后,窗體如圖14.1所示?! ?lt;/p><p>圖在CustomerFrom1窗體中放置三個部件 </p><p>14.1.2 設置部件的屬性 </p><p>為了使TDBGrid部件能夠顯示數據庫表Customer.DB中的客戶信息,我們必須修改窗體三個部件相關的屬性,這些屬性的設置如表14.1所示?!?lt;/p><p>表14.1 CustomerFrom1窗體中三個部件的屬性設置</p><p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p><p>屬 性 屬 性 值</p><p>──────────────────────────────</p><p>DataSource1.AutoEdit False</p><p>DataSource1.DataSet Table1</p><p>Table1.DatabaseName DBDEMOS</p><p>Table1.TableName CUSTOMER.DB</p><p>Table1.Active True</p><p>DBGrid1.DataSource DataSource1</p><p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 這里要注意的是:DBDEMOS是Delphi缺省安裝時C:\Delphi\DEMO\DB\MASTAPP目錄的別名,而且數據庫表Customer.DB存在該目錄下,用戶在使用這一例子時,請注意這兩項設置都是正確的。另外 Datasource1.Dataset,Table1.TableName和DBGrid1.Datasource屬性都有下拉式列表框允許用戶從可能的值列表中選擇它們的值,這樣能方便我們進行屬性的設置,而且不容易出錯。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Datasouuce1.AutoEdit屬性設置為False是為了防止用戶修改數據庫表中的數據,在下面的討論中我們將詳細地進行說明。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Table1.Active設置為True時,Delphi會打開Table1.TableName所指定的數據庫表。如果這個數據庫表不存在(或表中什么也沒有,即空表), Delphi 會彈出出錯信息并且Table1.Active變成False。當Table1.Active被設置成True之后,Table1部件的一些屬性就不能再修改了,如Table1.DatabaseName和Table1.Tablename屬性。若要修改它們,必須首先要將Table1.Active屬性設置為False,然后再進行修改,否則,Delphi會彈出錯誤信息“Cannotperform this operation on an open database”。當看到這個錯誤信息時,只需把Table1.Active置成False,完成相關的修改后,再把Table1. Active 屬性設置為True。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 當我們把DBGrid1.DataSource的值設置成DataSource1時,Delphi會把Customer.DB中的數據填充到DBGrid1部件中,并且可以用DBGrid1中的滾動條來瀏覽數據庫表中的所有記錄?!?lt;/p><p>14.1.3 運行程序 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保存文件,命名代碼單元為Cust.pas,命名工程名為CustPRJ.DPR,然后按F9編譯并運行程序。程序執行之后,我們可以使用滾動條或鍵盤移動鍵在字段和記錄間移動。但不能修改表中的數據,因為Datasouc1.AutoEdit1屬性已被設置為False。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cust程序中的三個部件都有各自的特殊用途,三個部件的相關屬性在內部相互聯系生成最終的應用程序。TTable部件連接磁盤上的實際數據庫表和應用程序中其他部件的通道。TTable部件具有打開和關閉、讀取、更新以及其他處理磁盤數據庫文件的方法。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDatasource部件是連接TTable部件和數據瀏覽部件如TDBGrid部件的橋梁。TDBGrid部件用于顯示數據庫表中的數據信息,它為應用程序提供一個直觀的界面。圖14.2闡述了這三個部件之間的關系。 </p><p> Cust程序中三個部件之間的內部關系 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDBGrid部件的奇妙之處在于它知道如何去獲取數據庫表中的下一條或前一條記錄,我們使用滾動條或箭頭鍵便可以完成這項任務。TDBGrid部件不知道如何增加、刪除和修改記錄。如果想讓 Cust 程序能夠修改數據庫表中的記錄,只要把 Datasource1 部件的AutoEdit屬性設置成True ,并重新編譯和運行程序就可以達到目的。 使用箭頭鍵, 把DBGrid的高亮度條定位到某一個字段上,然后鍵入新值,該字段中的值將被鍵入的新值所取代,并且當移動到另一條記錄時,健入的信息會自動寫入數據庫表中。如果想放棄所做的改動,只需在離開該字段前按一下Escape鍵。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果想在表中增加新記錄,可以把高亮度條移到網格底端的空白記錄上并輸入新記錄的有關字段值。也可以在用戶指定的某一條記錄的后面插入一條新記錄,只要把高亮度條定位到指定的記錄上,按Ins鍵,使可以在該記錄的后面插入新記錄。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 刪除某一條記錄時,把高亮度條定位在想刪除的記錄的任何字段上,按Ctrl+del鍵,這時會出現保護信息,我們可以確認是否真的想刪除該項記錄。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDBGrid為用戶提供了較完備的功能,用于控制是否編輯、增加或刪除記錄。若想禁止對數據庫表作任何修改,設置TDBGrid部件的Readonly屬性為 True, 并設置 Option.dgEDiting為False(這將為我們提供一個只讀的數據庫表瀏覽器而不是數據庫編輯器,但它隱含著增加、編輯和刪除記錄的能力)。TDBGrid部件的這些屬性和Option屬性其它選項的各種不同組合可以讓我們很方便地對數據庫表進行有效的瀏覽、編輯等操作。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我們經常使用像電子表格那樣的界面來顯示和編輯數據記錄,TDBGrid部件便是一個很方便的工具,但那并不是最友好的用戶界面,如果想擁有更優美更直觀的界面,我們還可以使用單獨的數據瀏覽部件來顯示數據庫表中各個字段的值,并利用TDBNavigator部件控制對數據庫表的存取。 </p><p align="center">14.2 利用TDBNavigator部件創建存取程序 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我們可以改進一下Cust程序以便它一次只在對話框中顯示一個客戶的記錄信息,并用一個TDBNavigator部件控制對記錄存取──允許我們選擇一個記錄來顯示或編輯以及增加和刪除記錄。完成的應用窗體。</p><p> 增強的Cust程序</p><p>14.2.1 創建應用程序窗體 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我們可以非常迅速地創建起來,因為到目前為止我們對創建窗體的方法已經比較熟悉,我們首先把所有的部件都放到窗體中,然后再設置它們的屬性。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 開始一個新工程,設置窗體Form1的Name屬性為 Customerform2 , Caption 屬性為&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomerForm2。然后從部件選擇板上的DataAccess頁上選取一個Datasource部件和一個Table部件放在窗體的右上角。再從DataControls頁上選取DBNatvigator部件放在窗體的左上角。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 窗體中其余的部件如圖14.3所示。它們是TDBEdit和TLabel部件,按圖14.3所示創建并布置部件,分別命名DBEdit部件為EditCustno、 Editcompany 、EditAddr1 、EditAddr2、EditCity、EditState、EditZip、EditCountry、EditPhone 、EditFAX、EditTaxRate、EditContact。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 現在我們來連接TTable部件和TDataSource 部件, 然后連接所有的數據瀏覽部件和DataSource部件。設置TBNavigator部件和TDBEdit部件的屬性,它們的DataSource屬性都設置為DataSouce1。我們最后要做的事是連接窗體中各個TDBEdit部件和它們在數據庫表中對應的字段名,通過設置TDBEdit 部件的DataField 屬性來完成。 例如要連接命名為EditCustNo的TDBEdit部件和數據庫表中的CustNo字段,具體步驟如下:</p><p>①選中窗體中的EditCustNo部件。</p><p>②在Object Inspector窗體中,單擊DataField屬性右邊的箭頭。</p><p>③從下拉列表中選中CustNo字段名。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 對窗體中的其他TDBEdit部件執行以上操作連接到其對應的字段,然后保存文件。命名代碼單元名為Cust2.pas,命名工程名為Cusprj2.DPR?!?lt;/p><p>14.2.2 使用TDBNavigator部件移動記錄指針 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上述程序運行之后,在數據瀏覽部件中會顯示數據庫表中的第一條記錄。利用Tab鍵可以在字段之間移動,但是不能編輯字段。因為我們為了防止意外修改,設置了Table1的AutoEdit屬性值為False。如果想對數據庫表中的記錄進行編輯、插入和刪除操作或者想顯示數據庫表中另一條記錄, 需要按TDBNvigator 部件上這些功能所對應的功能按鈕。TDBNavigator部件上的按鈕和它們的功能如圖14.4所示。</p><p> TDBNavigator中的按鈕 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDBNavigator部件的絕大多數功能都可以根據其按鈕的圖標能夠很容易地識別出來,而且TDBNavigator部件本身能感知到很多事情,如當前指針是否在數據庫表的開頭或尾部。如果用戶正在查看數據庫表中的最后一個記錄,Next和Last按鈕將會變灰成為非活動狀態。同樣,如果用戶當前正在瀏覽數據庫表中的第一條記錄, TDBNavigator 上的First 和Previous按鈕會變灰而成為非活動狀態。有關各個按鈕的作用的更詳細說明請查看聯機幫助。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果用戶想修改當前的記錄,單擊TDBNavigator部件的Edit按鈕,然后完成需要做的修改,在做完修改之后,單擊Post按鈕以便將作的修改寫入實際的數據庫表中(更新實際的數據庫表中的記錄在數據庫術語中叫作“投寄”記錄即PostT)。如果想取消所做的修改,單擊Cancel按鈕。Cancel按鈕只取消自從上一次往數據庫表中投寄記錄以來對記錄所做的修改。例如,如果用戶曾修改了CustNo字段并單擊了Post按鈕投寄了修改,然后再修改Company字段并按Cancel,那么只有對Company所做的修改將會被取消。也就是說,一旦修改被寫入了數據庫表中,再按Cancle按鈕是無法取消對記錄的修改的,要想恢復到以前的狀態,用戶必須要重新編輯修改記錄。值得注意的是,當用戶修改了當前的記錄,并移動到其他記錄時,TDBNavigaator部件會自動地投寄用戶對記錄的修改。例如:如果我們修改了記錄的Company字段,并沒有按Post按鈕以更新表中的記錄,而是移動到下一條記錄,這時用戶對記錄的修改也會自動地被寫入數據庫表中?!?lt;/p><p>14.2.3 定制TDBNavigator部件 </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDBNavigator部件中的按鈕對我們開發人員來說是很方便的,但對于程序的最終用戶來說不一定那么一目了然。為了幫助最終用戶或初級用戶更方便有效地使用TDBNavigator部件,我們可以設置TDBNavigator部件的ShowHint屬性為True,這樣當鼠標光標停留在TDBNavigator部件上的某一個按鈕上超過大約1秒鐘,在屏幕上便會出現該按鈕的提示信息。如果我們不想使用TDBNavigator部件本身嵌入的提示信息,我們還可以設置TDBNavigtor部件的Hints屬性,為每個按鈕指定特定的提示信息,以幫助用戶使用TDBNavigator部件。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDBNavigator部件中有多個功能按鈕,但并不是所有的按鈕對每一個數據庫應用程序都是需要的,特別是那些不允許修改表中的數據,或修改只是在很嚴格的控制下進行的數據庫應用程序。我們可以通過設置TDBNavigator部件的VisibleButtons 屬性來確定要在TDBNavigator中顯示哪些按鈕步顯示哪些按鈕。例如,如果我們不允許用戶修改表中的記錄,我們就不需要Add、Delete、Post、Cancel或 Refresh 按鈕, 我們設置這些按鈕的VisibleButtons屬性為False,這樣在TDBNavigator部件中將不會出現這些按鈕。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TDBNavigator部件的ConfirmDelete屬性和Delete按鈕配合使用對用戶刪除數據庫表中的記錄是非常有用的,當ConfirmDelete屬性設置為True (缺省設置), 當用戶單擊Delete按鈕試圖刪除當前記錄時,Delphi會彈出一個確認框,要用戶確認是否真的想刪除當前記錄。這樣,在用戶進行刪除記錄的操作時,會更安全一些。如果用戶不希望在按下Delete按鈕時出現確認框,只要把ConfirmDelete設置為False就可以了。</p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草一区二区三区| 91成人免费在线视频| 日韩av高清在线观看| 久久精品久久精品| 在线欧美小视频| 国产欧美日韩在线看| 午夜精品久久久久久| 国产一区在线看| 欧美性生活大片视频| 日本一区二区三区dvd视频在线| 婷婷国产v国产偷v亚洲高清| 成人a级免费电影| 日韩美女天天操| 亚洲影视资源网| 99在线精品一区二区三区| 日韩欧美亚洲一区二区| 亚洲成a人v欧美综合天堂下载 | 精品国产制服丝袜高跟| 亚洲综合色在线| 99精品热视频| 国产精品麻豆视频| 久久精品免费看| 欧美一区二区在线视频| 亚洲福利视频一区二区| 91年精品国产| 日韩美女精品在线| www.av亚洲| 国产精品免费视频网站| 国产在线看一区| 久久一二三国产| 青青青爽久久午夜综合久久午夜| 欧美日韩二区三区| 日韩高清不卡一区| 欧美亚洲国产怡红院影院| 亚洲国产日韩综合久久精品| 91免费视频大全| 一区二区三区四区激情| 色婷婷亚洲一区二区三区| 一区二区在线电影| 亚洲欧美日韩电影| 91日韩一区二区三区| 一区二区欧美国产| 亚洲va天堂va国产va久| 99re亚洲国产精品| 亚洲美女在线一区| 欧美亚洲图片小说| 日韩精品一二三区| 精品剧情v国产在线观看在线| 久久99久久精品| 久久久精品国产免大香伊| 国产成人av电影| 亚洲男帅同性gay1069| 欧美综合亚洲图片综合区| 首页亚洲欧美制服丝腿| 精品少妇一区二区三区在线播放| 国产丶欧美丶日本不卡视频| 综合中文字幕亚洲| 欧美精三区欧美精三区| 国内欧美视频一区二区| 亚洲欧美日韩在线不卡| 欧美疯狂做受xxxx富婆| 国产一区三区三区| 亚洲人精品午夜| 日韩一区二区在线观看| 国产一区二区福利视频| 亚洲免费观看高清在线观看| 日韩午夜激情av| 91亚洲国产成人精品一区二区三| 亚洲成人www| 中文文精品字幕一区二区| 午夜a成v人精品| 精品剧情在线观看| 色婷婷久久久综合中文字幕| 开心九九激情九九欧美日韩精美视频电影| 欧美国产一区在线| 日韩一区二区三区四区五区六区| 成人高清伦理免费影院在线观看| 性做久久久久久免费观看欧美| 2022国产精品视频| 欧美性大战久久久| 国产成人精品午夜视频免费| 同产精品九九九| 亚洲欧洲精品一区二区三区不卡| 久久99国产精品久久99果冻传媒| 亚洲少妇30p| 久久九九久精品国产免费直播| 色网综合在线观看| 国产精品一区二区无线| 亚洲欧美日韩国产另类专区| 不卡视频免费播放| 久久精品99久久久| 天堂在线亚洲视频| 欧美激情在线免费观看| 在线综合+亚洲+欧美中文字幕| 色综合久久天天| 成人美女在线视频| 国产精品18久久久久久vr| 日韩av一区二区三区四区| 亚洲欧美日韩久久| 中文字幕一区在线观看视频| ww亚洲ww在线观看国产| 欧美大度的电影原声| 欧美日韩国产片| 99国产精品久久久久| 成人免费黄色大片| 国产综合久久久久久久久久久久| 日本视频免费一区| 亚洲mv在线观看| 午夜精品影院在线观看| 亚洲一二三四在线| 亚洲亚洲精品在线观看| 一区二区视频免费在线观看| 亚洲欧美另类久久久精品2019| 国产亚洲女人久久久久毛片| 国产亚洲欧洲997久久综合| 日韩一区二区视频在线观看| 日韩欧美国产wwwww| 精品一区二区三区欧美| 狠狠色丁香久久婷婷综| 久久国产精品免费| 久久国产精品99久久人人澡| 国产精品一区专区| 国产成人综合在线观看| 国产98色在线|日韩| 国产不卡视频一区二区三区| 国产精品77777| 97se亚洲国产综合自在线观| 99精品久久99久久久久| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲午夜激情av| 亚洲国产一区视频| 香蕉影视欧美成人| 免费三级欧美电影| 国产一区不卡在线| 色婷婷精品大视频在线蜜桃视频| 亚洲精品乱码久久久久久黑人| 洋洋成人永久网站入口| 午夜精品久久久久影视| 麻豆精品久久久| 成人国产在线观看| 91国产精品成人| 日韩精品中午字幕| 国产精品久久久久一区二区三区| 一区二区三区丝袜| 久久精品国产色蜜蜜麻豆| 国产suv精品一区二区三区| 色一区在线观看| 精品国产乱码久久久久久夜甘婷婷| 久久久国产精华| 一区二区视频免费在线观看| 久久国产成人午夜av影院| 粉嫩蜜臀av国产精品网站| 欧美四级电影在线观看| 久久久高清一区二区三区| 亚洲一区二区在线免费看| 激情综合网av| 欧美色欧美亚洲另类二区| 26uuu国产一区二区三区| 亚洲成人7777| 97精品国产露脸对白| 91精品国产综合久久久久久| 国产精品伦一区二区三级视频| 日韩高清不卡在线| 日本丶国产丶欧美色综合| 久久久美女毛片| 日韩av午夜在线观看| 日本久久精品电影| 欧美经典一区二区| 免费久久99精品国产| 在线精品视频免费观看| 国产亚洲成aⅴ人片在线观看| 天使萌一区二区三区免费观看| 国产麻豆精品久久一二三| 制服丝袜亚洲播放| 亚洲人成网站在线| 国产.精品.日韩.另类.中文.在线.播放| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人免费在线观看入口| 国产在线视频一区二区三区| 欧美在线观看禁18| 国产精品嫩草99a| 国产一区啦啦啦在线观看| 欧美亚洲自拍偷拍| 亚洲啪啪综合av一区二区三区| 国产一区二区不卡在线| 精品国产伦一区二区三区观看方式| 日日嗨av一区二区三区四区| 日本久久精品电影| 日本aⅴ精品一区二区三区| 国产精品免费网站在线观看| 国产电影一区在线| 欧美国产欧美亚州国产日韩mv天天看完整| 日本女优在线视频一区二区| 欧美日本韩国一区| 调教+趴+乳夹+国产+精品| 欧美视频一区二区在线观看| 亚洲精品成人精品456| 91麻豆swag| 尤物在线观看一区| 欧美亚洲综合网|