精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ADO封裝類實(shí)現(xiàn)文件

開發(fā) 開發(fā)工具
這里介紹ADO封裝類,微軟公司相繼推出了幾種數(shù)據(jù)訪問技術(shù),先是DAO(Data Access Objects),然后是RDO(Remote Data Objects),現(xiàn)在是ADO(ActiceX Data Objects)。

一.引言

在過去幾年中,微軟公司相繼推出了幾種數(shù)據(jù)訪問技術(shù),先是DAO(Data Access Objects),然后是RDO(Remote Data Objects),現(xiàn)在是ADO(ActiceX Data Objects)。ADO是Microsoft數(shù)據(jù)庫應(yīng)用程序開發(fā)的新接口,是微軟***的數(shù)據(jù)訪問技術(shù)。它被設(shè)計(jì)用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data Access)。ADO向我們提供了一個(gè)熟悉的,高層的對(duì)OLE DB的Automation封裝接口,它簡(jiǎn)化了數(shù)據(jù)訪問的過程,增加了數(shù)據(jù)訪問的靈活性,是當(dāng)前數(shù)據(jù)訪問接口的主流技術(shù)。

用VB或者VBScript來操作ADO是非常方便的,但是如果使用C++或者是Java,就必須要處理類似Variants這樣的數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)和C++數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換,而這種處理無疑是C++開發(fā)人員都很頭疼的事情。而且ADO是應(yīng)用層的編程接口,它通過OLE DB提供的COM接口訪問數(shù)據(jù),使用ADO訪問數(shù)據(jù)庫需要使用許多API函數(shù)和ADO的對(duì)象,對(duì)于初學(xué)者來說,可能有些難度。即便對(duì)于ADO的編程高手,經(jīng)常要書寫大量相同的ADO冗余代碼,也會(huì)感到厭煩。看過網(wǎng)上不少紹封裝ADO的各種文章,也各有利弊。筆者在Visual C++下也嘗試封裝ADO訪問數(shù)據(jù)庫類,使其更方便地使用現(xiàn)有的VC的數(shù)據(jù)類型,簡(jiǎn)化應(yīng)用程序書寫的邏輯,增加程序的可讀性。達(dá)到了比較好的應(yīng)用效果,本文將給出筆者所使用封裝方法和源程序。

二.建立ADO封裝類

1.ADO對(duì)象基本模型

ADO模型包含了連接對(duì)象、命令對(duì)象、域?qū)ο蟆?shù)對(duì)象、記錄集對(duì)象、錯(cuò)誤對(duì)象等。對(duì)象之間又具有層次關(guān)系,其關(guān)系如圖1所示。

在VC中使用ADO訪問數(shù)據(jù)庫基本過程是:
◆初始化COM庫,引入ADO庫文件
◆用Connection對(duì)象連接數(shù)據(jù)庫
◆利用建立好的連接,通過利用Recordset對(duì)象取得結(jié)果記錄集進(jìn)行查詢、處理。
◆使用完畢后關(guān)閉連接釋放對(duì)象

2.基本操作函數(shù)和數(shù)據(jù)結(jié)構(gòu)

封裝的ADO類應(yīng)包括以下函數(shù)和數(shù)據(jù)結(jié)構(gòu):

1)建立數(shù)據(jù)庫連接函數(shù)OpenDataBase()

ADO連接數(shù)據(jù)庫首先要用到Connection對(duì)象,它是到數(shù)據(jù)庫的物理連接,管理著應(yīng)用程序和數(shù)據(jù)庫之間的通訊。對(duì)于大多數(shù)的數(shù)據(jù)庫系統(tǒng),每一個(gè)物理連接都需要耗費(fèi)大量系統(tǒng)內(nèi)存,是寶貴的系統(tǒng)資源,不可濫用。考慮到應(yīng)用程序的效率,每一個(gè)數(shù)據(jù)庫客戶端都只用一個(gè)物理連接,并且應(yīng)用程序結(jié)束后應(yīng)該釋放。

2)關(guān)閉數(shù)據(jù)庫連接函數(shù)CloseDataBase()

3)SQL查詢語句函數(shù) Select()

記錄集的建立和查詢結(jié)果得獲取是影響應(yīng)用程序得效率得關(guān)鍵問題。由于每一次查詢結(jié)果都可能不一樣,所以每個(gè)查詢語句都要建立一個(gè)記錄集對(duì)象。

4)執(zhí)行無返回結(jié)果的SQL語句函數(shù)Excute()

5)查詢結(jié)果數(shù)組pData

為了數(shù)據(jù)類型轉(zhuǎn)換的方便,我們將記錄集數(shù)據(jù)類型都轉(zhuǎn)換為CString類型,存放在查詢結(jié)果數(shù)組pData中,由于C++的CString是一個(gè)高效和功能強(qiáng)大的類,我們可以很方便地讀取記錄集中的查詢結(jié)果。

6)結(jié)果數(shù)組大小nResultRow和nResultCol

3.ADO封裝類實(shí)現(xiàn)文件

封裝類頭文件ADODB.H定義如下:

  1. class CADODB : public CObject  
  2. {  
  3. public:  
  4. CADODB(); //構(gòu)造函數(shù)  
  5. ~CADODB(); //析構(gòu)函數(shù)  
  6. public:  
  7. int nResultRow; //查詢結(jié)果行數(shù)  
  8. int nResultCol; //查詢結(jié)果列數(shù)   
  9. CStringArray pData; //存放查詢結(jié)果數(shù)組 大小為nRow*nCol   
  10. CString errormessage; //ADO錯(cuò)誤信息  
  11. bool OpenDataBase(CString DsnName,CString sUserID,CString sPassword);  
  12. //打開數(shù)據(jù)庫連接 輸入DSN名稱、用戶ID和密碼  
  13. int Select(CString Sql); //執(zhí)行SQL查詢語句,結(jié)果放在數(shù)組pData中  
  14. int Excute(CString Sql); //執(zhí)行無返回值得SQL語句  
  15. bool CloseDataBase(); //關(guān)閉數(shù)據(jù)庫連接  
  16. protected:  
  17. _ConnectionPtr m_pConnection; //定義連接指針  
  18. }; 

4.ADO封裝類實(shí)現(xiàn)文件

ADO封裝類實(shí)現(xiàn)文件ADODB.CPP如下:

  1. #include "stdafx.h"     
  2. #include "ADODB.h"     
  3.  
  4. CADODB::CADODB() //構(gòu)造函數(shù),完成初始化     
  5. {     
  6. nResultRow=0; //     
  7. nResultCol=0; //記錄集行數(shù)和列數(shù)     
  8. m_pConnection = NULL;     
  9. }     
  10.  
  11. CADODB::~CADODB() //關(guān)閉數(shù)據(jù)庫物理連接     
  12. {     
  13. if(m_pConnection )m_pConnection->Close();      
  14. m_pConnection = NULL;     
  15. }     
  16.  
  17. bool CADODB::OpenDataBase(CString DsnName,CString sUserID,CString sPassword)     
  18. { //打開數(shù)據(jù)庫連接     
  19. …     
  20. HRESULT hr=m_pConnection.CreateInstance("ADODB.Connection");//創(chuàng)建連接對(duì)象     
  21. hr=m_pConnection->Open((_bstr_t)DsnName,(_bstr_t)sUserID,  
  22. (_bstr_t)sPassword,adOpenUnspecified); //連接數(shù)據(jù)庫     
  23. …     
  24. }     
  25.  
  26. int CADODB::Select(CString SqlStr) //SQL查詢語句函數(shù)     
  27. { …     
  28. try     
  29. {     
  30. hr = m_pRecordset.CreateInstance("ADODB.Recordset");//創(chuàng)建紀(jì)錄集對(duì)象實(shí)例     
  31. hr = m_pRecordset->putref_ActiveConnection(m_pConnection);//設(shè)置連接對(duì)象     
  32. hr=m_pRecordset->Open  
  33. (vSqlString,vNull,adOpenDynamic,adLockOptimistic,adCmdText); //打開紀(jì)錄集     
  34. nResultCol = m_pRecordset->Fields->GetCount();//獲得紀(jì)錄集總列數(shù)     
  35. while(!m_pRecordset->adoEOF)     
  36. {     
  37. for (j = 0; j < nResultCol; j++) //取一列數(shù)據(jù)     
  38. {     
  39. vValue = m_pRecordset->Fields->Item[(long)j]->Value;//取得當(dāng)前記錄字段數(shù)據(jù)     
  40. if(vValue.vt != 1) //數(shù)據(jù)非空     
  41. {     
  42. int type = vValue.vt;     
  43. if(VariantChangeType(&vValue1, &vValue, 0, VT_BSTR) == S_OK)    
  44. //轉(zhuǎn)換數(shù)據(jù)類型(為字符串)     
  45. str=vValue1.bstrVal; //保存結(jié)果值到臨時(shí)變量str中     
  46. }     
  47. if(pData.GetSize()m_pResult.SetSize(i*nResultCol+j+1);     
  48. pData[i*nResultCol+j]=str; //保存結(jié)果到數(shù)組中     
  49. m_pRecordset->MoveNext(); //移動(dòng)記錄集指針到下一行     
  50. i++;     
  51. }     
  52. m_pRecordset->Close();     
  53. m_pRecordset=NULL;     
  54. nResultRow=i;     
  55. }     
  56. catch(_com_error e)///捕捉異常     
  57. {     
  58. …      
  59. }     
  60. pData->FreeExtra();//釋放多余的內(nèi)存空間     
  61. return nResultRow;     
  62. }     
  63. …   

三.使用ADO封裝類

建立了ADO封裝類后,使用數(shù)據(jù)庫操作就非常簡(jiǎn)單了。在需使用數(shù)據(jù)庫查詢的CPP文件中包含ADO封裝類頭文件"ADODB.H",然后定義一個(gè)CADODB類指針;接下來就是打開數(shù)據(jù)庫連接。使用封裝類的成員函數(shù)OpenDataBase(…),輸入要連接的數(shù)據(jù)庫的DSN名稱、用戶名和密碼,就與數(shù)據(jù)庫建立連接了。要注意的是如果同時(shí)連接多個(gè)數(shù)據(jù)庫就要聲明多個(gè)CADODB對(duì)象指針,保證數(shù)據(jù)庫連接對(duì)象是全局且惟一。接下來就是,調(diào)用成員函數(shù)Select取得數(shù)據(jù)庫查詢結(jié)果,執(zhí)行完畢后查詢結(jié)果放在CADODB的成員字符數(shù)組指針pData中,數(shù)組大小可以從成員變量nResultRow和nResultCol中得出。基本步驟如下:

在"stdafx.h"中加入ADO庫的導(dǎo)入語句

  1. #import "c:program filescommon filessystemadomsado15.dll" 
    no_namespace rename("EOF","adoEOF")  

在應(yīng)用程序類中初始化COM對(duì)象,在InitInstance()中加入以下語句

  1. AfxOleInit();   

加入ADO封裝類實(shí)現(xiàn)文件

  1. #include "ADODB.H"  
  2. …  

定義ADO封裝類實(shí)現(xiàn)文件

  1. CADODB ADO1;   //連接數(shù)據(jù)庫  
  2. CADODB ADO2;  //連接數(shù)據(jù)庫  
  3. …  
  4. ADO1.OpenDataBase("數(shù)據(jù)源名稱","用戶ID","用戶密碼")  
  5. //建立連接,***次連接時(shí)調(diào)用  
  6. ADO1.Select("select * from 表名");  
  7. //執(zhí)行SQL查詢語句  
  8. int nRowADO1.GetResultRow();  
  9. //取得記錄行數(shù)  
  10. int nColADO1.GetResultCol();  
  11. //取得記錄列數(shù)  
  12. for(i=0;ifor(j=0;jprintf("第%d行第%d列的值是%s",i,j,ADO1.pData[i*nCol+j];  
  13.  …  
  14. ADO1.CloseDataBase();  
  15. //使用完后關(guān)閉數(shù)據(jù)庫連接   

四.結(jié)論和建議

使用ADO封裝類后,在應(yīng)用程序中操作數(shù)據(jù)庫的過程就變得簡(jiǎn)單了,針對(duì)一般的數(shù)據(jù)庫應(yīng)用程序,而且在數(shù)據(jù)量不很大的情況下,本封裝類已經(jīng)能夠應(yīng)付,在使用效率上也比較滿意。但是該封裝沒有考慮數(shù)據(jù)訪問的優(yōu)化處理,數(shù)據(jù)庫使用了動(dòng)態(tài)連接方式,記錄集也沒有進(jìn)行分頁處理,ADO緩沖區(qū)大小和游標(biāo)類型都采用缺省設(shè)置,這些在實(shí)際使用中都可能降低封裝類的性能,讀者可以根據(jù)不同的應(yīng)用情況有針對(duì)地進(jìn)行修改。

【編輯推薦】

  1. C#構(gòu)造函數(shù)與C++的區(qū)別淺析
  2. 實(shí)例淺析Visual Studio 2010的C++0x特性
  3. C++標(biāo)準(zhǔn)委員會(huì)確定將concepts特性從C++0x中移除
  4. C#調(diào)用C++動(dòng)態(tài)鏈接庫方法介紹
  5. 關(guān)于C++和C#類型比較的相關(guān)表格
責(zé)任編輯:彭凡 來源: CSDN
相關(guān)推薦

2009-12-25 15:28:48

ADO類

2009-12-22 10:58:50

ADO.NET類

2009-12-21 14:14:08

ADO.NET類文件

2009-12-21 14:31:29

ADO.NET類文件

2010-10-12 11:31:07

連接MYSQL

2009-11-04 10:07:52

ADO.NET DbP

2009-12-25 16:31:38

ADO類

2009-11-12 10:15:37

ADO.NET使用

2009-12-30 16:45:31

ADO操作

2009-12-29 10:56:06

ADO支持文件

2010-01-04 11:14:40

ADO類庫

2009-12-24 15:42:01

ADO類庫

2009-12-18 16:39:59

ADO.NET基礎(chǔ)類

2009-11-11 15:50:59

ADO內(nèi)存數(shù)據(jù)對(duì)象

2009-12-29 16:07:19

ADO類型

2012-03-09 10:58:23

2009-11-04 08:38:30

ADO.NET庫文件

2009-12-18 15:11:50

ADO.NET類

2009-12-28 16:57:40

ADO .NET 類

2009-12-31 14:18:46

ADO.NET類庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美性色黄大片手机版| 国产成人免费视频一区| 国产亚洲福利一区| 奇米影音第四色| 国产在线69| 99精品视频一区二区| 日韩男女性生活视频| 任你操精品视频| 成人午夜网址| 欧美三级午夜理伦三级中视频| 中文字幕久久一区| 好吊视频一区二区三区| 奇米影视在线99精品| 国内精久久久久久久久久人| 久久久久无码精品国产sm果冻| 国产精品久久免费视频| 精品久久久久久中文字幕大豆网| 亚欧精品在线| 好吊视频一二三区| 九色|91porny| 青青草精品毛片| 蜜臀久久精品久久久用户群体| 香蕉久久夜色精品国产更新时间| 日韩午夜激情视频| 在线观看免费成人av| 1024在线看片你懂得| 亚洲免费看黄网站| 亚洲精品视频一二三| 色播色播色播色播色播在线 | 无码中文字幕色专区| 在线看免费av| 91色婷婷久久久久合中文| 亚洲xxxxx| 中文字幕av在线免费观看| 99国产精品视频免费观看一公开| 久久成人人人人精品欧| 日本视频在线免费| 欧美熟乱15p| 亚洲免费视频在线观看| 蜜臀av粉嫩av懂色av| 久久久久亚洲精品中文字幕| 欧美日韩电影一区| 97公开免费视频| 天堂在线中文网官网| 亚洲综合激情网| 国产又黄又爽免费视频| 98在线视频| 国产欧美视频一区二区三区| 蜜桃狠狠色伊人亚洲综合网站| 人妻妺妺窝人体色www聚色窝| 国产成人av在线影院| 成人午夜两性视频| 国产一区二区三区在线观看 | 亚洲国产精品自拍| 日韩成人午夜影院| a毛片在线看免费观看| 亚洲丝袜美腿综合| 高清视频一区二区| 亚洲一区二区三区中文字幕| 亚洲欧洲另类精品久久综合| 国产视频网站在线| 久久先锋影音av| 免费在线国产精品| 免费福利在线视频| 久久精品视频网| 日韩在线观看电影完整版高清免费| 久久精品蜜桃| 国产精品色眯眯| 性欧美18一19内谢| 少女频道在线观看高清 | 亚洲精品国产91| 精品一区二区三| 色婷婷av一区二区三区在线观看| 中文字幕91视频| 欧美 亚欧 日韩视频在线| 欧美日韩不卡合集视频| 日本在线视频免费| 日韩综合小视频| 成人亚洲欧美一区二区三区| 亚洲高清精品视频| 91香蕉视频污在线| 视频一区二区三| 91xxx在线观看| 亚洲综合精品久久| 成人免费在线小视频| av成人免费| 欧美成人综合网站| 一区二区黄色片| **女人18毛片一区二区| 午夜精品福利在线观看| 久久精品国产亚洲av麻豆蜜芽| 激情小说亚洲一区| 精品视频在线观看| 黄色一级大片在线免费看产| 亚洲www啪成人一区二区麻豆| 草草草在线视频| 欧美黄色一级| 亚洲网站视频福利| 妺妺窝人体色www聚色窝仙踪| 狂野欧美一区| 成人欧美一区二区三区在线观看 | 91视频一区二区三区| 亚洲亚洲精品三区日韩精品在线视频| 黄色成人在线网| 欧美日韩在线三区| 亚洲の无码国产の无码步美| 国产精品久久占久久| 2019精品视频| 精品久久国产视频| 欧美国产日韩亚洲一区| 日韩欧美精品免费| 高清精品久久| 亚洲性猛交xxxxwww| 久久久久久久九九九九| 蜜臀av一区二区三区| 久久精品成人一区二区三区蜜臀| 国产调教视频在线观看| 色琪琪一区二区三区亚洲区| 国产乱国产乱老熟300部视频| 波多野结衣的一区二区三区| 91精品国产777在线观看| 国产乱码精品一区二区三区精东| 国产视频亚洲色图| 亚洲自偷自拍熟女另类| 一区二区三区国产好| 日韩视频在线免费| 艳妇乳肉豪妇荡乳av无码福利| www.一区二区| 丁香婷婷综合激情| 国产麻豆精品| 久久久精品美女| 在线观看中文字幕网站| 国产日韩欧美a| 青青草原av在线播放| 国产一区丝袜| 国内精品一区二区三区四区| 亚洲精品成av人片天堂无码| 亚洲狼人国产精品| av在线免费观看不卡| 亚洲精品网址| 91网站在线看| 99热国产在线中文| 欧美电影在线免费观看| 狂野欧美性猛交| 美女看a上一区| 一本久久a久久精品vr综合 | 欧美私模裸体表演在线观看| 成都免费高清电影| 久久一区二区三区四区五区| 清纯唯美一区二区三区| 欧美成a人片在线观看久| 亚洲免费成人av电影| 成人免费一级片| 国产精品网曝门| 成人av毛片在线观看| 中文字幕一区二区三三| 成人免费视频观看视频| 美女露胸视频在线观看| 亚洲免费小视频| 国产精品自拍第一页| 中文字幕欧美一区| 97超碰人人看| 午夜日本精品| 精品一区久久| 日韩不卡视频在线观看| 久久天天躁狠狠躁夜夜躁2014 | 国产成人精品一区二| 99热久久这里只有精品| 美女精品一区最新中文字幕一区二区三区 | 免费成人在线影院| 色乱码一区二区三区熟女| caoporn成人免费视频在线| 6080yy精品一区二区三区| 黄色在线网站| 日韩丝袜美女视频| 国产午夜小视频| 国产日韩亚洲欧美综合| 91小视频在线播放| 激情综合电影网| 日产精品久久久一区二区| 亚洲一区导航| 国模吧一区二区三区| 国产美女视频一区二区三区| 欧美一级黄色片| 成人免费看片98欧美| 国产精品拍天天在线| 国产精品99精品无码视亚| 久久国产欧美| 久久久久久久久网| 蜜臀久久99精品久久一区二区| 国产日韩av在线播放| h片在线观看视频免费| 中文字幕v亚洲ⅴv天堂| 亚洲精品成人区在线观看| 91成人在线观看喷潮| 青娱乐国产盛宴| 久久久电影一区二区三区| 亚洲精品乱码久久久久久9色| 噜噜噜躁狠狠躁狠狠精品视频| 国产91porn| 成人精品电影| 久久精品人人做人人爽电影| 日韩在线你懂得| 欧美性受xxx| 亚洲www色| 中文字幕一精品亚洲无线一区| 国产91久久久| 欧美顶级少妇做爰| 天堂免费在线视频| 午夜精品一区二区三区电影天堂| 91大神福利视频| 国产日韩欧美激情| 无码人妻精品一区二区三应用大全| 国产精品18久久久久久久久久久久| 国产免费成人在线| 黑丝一区二区| 青青草综合视频| 亚洲h色精品| 日韩资源av在线| 欧美影院天天5g天天爽| 超碰在线97av| 久久久久久爱| 成人在线精品视频| 国产91在线播放精品| 国产mv免费观看入口亚洲| 激情黄产视频在线免费观看| 欧美激情一区二区三级高清视频| 操你啦在线视频| 日韩在线免费视频| 阿v免费在线观看| 亚洲人成网站999久久久综合| 亚洲欧美日韩动漫| 亚洲韩国日本中文字幕| 天堂成人在线观看| 亚洲成人黄色网址| 亚洲国产精品久久人人爱潘金莲 | 亚洲男女在线观看| 成人国产精品免费观看动漫| 国产精品嫩草69影院| 高清免费成人av| 香港三日本8a三级少妇三级99| 国产ts人妖一区二区| 涩涩网站在线看| 国产中文字幕一区| 国产在线视频三区| 国产精品一区二区无线| 熟妇无码乱子成人精品| 国产资源在线一区| 亚洲精品国产久| 国产一区二区三区在线看麻豆| 小早川怜子一区二区三区| 国产一区在线观看麻豆| 三级黄色片播放| 国产精品资源在线观看| 国产成人精品综合久久久久99 | 久久婷婷国产麻豆91| 一区二区激情视频| 日本少妇久久久| 欧美性xxxxxxxxx| 中文字幕日日夜夜| 91麻豆精品国产91久久久久久久久| 精品久久无码中文字幕| 欧美精品一区在线观看| 性猛交xxxx| 中文在线不卡视频| 性欧美猛交videos| 91成人在线观看国产| xx欧美视频| 国产中文字幕亚洲| av成人资源网| 欧洲精品码一区二区三区免费看| 日韩黄色大片网站| 欧美极品少妇无套实战| 国产毛片久久| 九色porny自拍| 成人高清视频在线| 欧美 日韩 国产 成人 在线观看| 一色屋精品亚洲香蕉网站| 精品无码av在线| 在线视频欧美区| www黄色网址| 亚洲人成五月天| 国产在线看片| 日韩av免费在线| 精品久久国产一区| 欧美成人dvd在线视频| 婷婷亚洲五月| 国产精品-区区久久久狼| 精品制服美女丁香| 极品粉嫩小仙女高潮喷水久久| 中文字幕精品三区| 欧美黄色一区二区三区| 色94色欧美sute亚洲13| www.中文字幕| 色噜噜狠狠狠综合曰曰曰| 不卡av免费观看| 成人女保姆的销魂服务| 香蕉久久精品| 国产一区二区四区| 韩国理伦片一区二区三区在线播放| 日本黄色录像片| 自拍av一区二区三区| 欧美a视频在线观看| 欧美成人三级在线| 在线观看精品一区二区三区| 97在线视频观看| 日本亚洲视频| 亚洲欧美99| 久久影院亚洲| 少妇户外露出[11p]| 亚洲美女视频一区| 高潮无码精品色欲av午夜福利| 日韩精品免费看| 日本中文字幕中出在线| 成人免费视频网| 色婷婷综合网| 热久久精品免费视频| 99精品国产99久久久久久白柏 | 在线免费观看黄色| 清纯唯美亚洲综合| 欧美挤奶吃奶水xxxxx| 国产av熟女一区二区三区| 国内精品免费在线观看| 久久视频一区二区三区| 在线看国产日韩| 涩涩视频在线观看免费| 2019中文在线观看| 久久资源综合| www.99热这里只有精品| 成人免费高清在线观看| 激情五月少妇a| 日韩午夜电影在线观看| 天堂8中文在线| 91最新在线免费观看| 国产精品久久久久久久久久10秀 | 91精品久久久久久综合五月天| 精品嫩模一区二区三区| 精品一区二区三区久久久| 91视频最新网址| 91精品国产综合久久久久久漫画 | 91精品国产高清| 久久精品亚洲成在人线av网址| 男人添女人荫蒂免费视频| 国产不卡视频在线播放| 久一区二区三区| 精品处破学生在线二十三| gogo高清午夜人体在线| 韩日午夜在线资源一区二区| 99视频+国产日韩欧美| 波多野结衣 在线| 欧美日韩美女视频| 欧美色18zzzzxxxxx| 国产精品久久电影观看| 99九九热只有国产精品| 亚洲第一区第二区第三区| 亚洲精品中文在线影院| 国产自产一区二区| 欧美在线观看网址综合| 国产精品欧美三级在线观看| 天天操天天爽天天射| 亚洲天堂中文字幕| 亚洲第一第二区| 青青草原一区二区| 日韩成人a**站| 绯色av蜜臀vs少妇| 精品人伦一区二区三区蜜桃网站 | 欧美丰满片xxx777| 九色丨蝌蚪丨成人| 国产免费999| 一区二区三区在线视频观看58| 人妻无码中文字幕| 欧日韩不卡在线视频| 99久久99久久精品国产片果冰| 精品国产午夜福利在线观看| 午夜婷婷国产麻豆精品| 国产三级在线免费| 亚洲尤物视频网| 国产精品视区| 99热这里只有精品4| 欧美精品一区二区蜜臀亚洲| 欧美男体视频| 亚洲小说欧美另类激情| 97久久超碰精品国产| 中文字幕乱码人妻无码久久| 久久99国产综合精品女同| 九九精品在线| 久久久久久久久久久影视| 欧美香蕉大胸在线视频观看 | 成人在线视频免费观看| 少妇极品熟妇人妻无码| 欧美视频在线一区二区三区| wwwww亚洲| 一道精品一区二区三区| 91在线视频观看| 国产免费黄色录像| 5252色成人免费视频| 综合五月婷婷| 欧美亚洲色综久久精品国产| 亚洲第一福利网站| 亚洲综合伊人|