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

MySQL數據庫接口的VC實現與應用

運維 數據庫運維 MySQL
本文將詳細介紹VC環境中MySQL數據庫服務器不同接口的應用,并最終將產生一個CDatabase類封裝MySQL數據庫接口功能。

引言

隨著現代計算機軟硬件及網絡技術的發展,在網上查找資料已成為現在獲取信息的最重要手段之一。眾所周知,所有的網上信息都是儲存在網站數據庫中的,這些信息的查詢、更新等操作的功能則是由數據庫服務器提供的,顯然,數據庫服務器的性能將直接關系到網站的生存。網站搭建中用的最多的數據庫服務器是oracle 和MySQL,前者功能強大,屬于旗艦型數據庫服務器,但前期投入太大;后者功能不斷完善,簡單易用而又不失性能,并且可以免費獲得。因此,許多中小型網站的數據庫服務器選用MySQL,而且,由于MySQL性能出色,一些大型網站也選用了MySQL。

由此可見,MySQL數據庫服務器在網站建設中的表現是十分出色的。但是,正因為這樣,幾乎很少有人將MySQL用于應用軟件的開發中。

數據庫接口實現與應用的計算機環境:硬件,C466、128M、15G;軟件及操作系統,VISUAL C++ 6.0、MySQL 3.23.22-beta for win32、WIN98。

1 MySQL數據庫簡介

MySQL 是一個真正的多用戶、多線程SQL數據庫服務器。SQL(結構化查詢語言)是世界上最流行的和標準化的數據庫語言,它使得存儲、更新和存取信息更加容易。 MySQL是一個客戶機/服務器結構的實現,它由一個服務器守護程序mysqld和許多不同的客戶程序以及庫組成的。

MySQL 的主要目標是快速、健壯和易用。最初是因為MySQL的創始人需要這樣的一個SQL服務器,它能處理與任何不昂貴硬件平臺上提供數據庫的廠家在一個數量級 上的大型數據庫,但速度更快,MySQL因此就開發出來了。它提供C,C++,JAVA(JDBC),Perl,Python,PHP and TCL 的API接口;多平臺支持,包括Solaris,SunOS,BSDI,SGI IRIX,AIX,DEC UNIX,Linux,FreeBSD,SCO OpenServer,NetBSD,OpenBSD,HPUX,Win9x and NT;多樣的數據類型,包括有/無符號1,2,3,4,8字節integers,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT, BLOB,DATE,DATETIME,YEAR,SET,ENUM;非常靈活和安全的權限系統,密碼加密;為Windows提供ODBC接口,可通過 Access與之相聯,另有第三方開發商提供多樣的 ODBC驅動程序;在MySQL 3.23中使用新MyISAM最大的表大小可達8百萬 TB(2^63個字節);多種語言支持,但不支持中文。然而,為了實現快速、健壯和易用的目的,MySQL必須犧牲一部分靈活而強大的功能,如子查詢、存 儲過程與觸發器、外鍵、事物處理等。因而,MySQL在某些應用中缺乏靈活性,但這也使它對數據的處理速度較其它數據庫服務器至少快2~3倍。

MySQL 自身不支持Windows的圖形界面,因此,所有的數據庫操作及管理功能都只能在MS-DOS方式下完成。首先,必須登陸MySQL服務器,即在提示符\ MySQL\BIN>下輸入MYSQL –H host –U user –Ppassword,提示符改為mysql>時表示登陸成功。然后,選擇所操作的數據庫,即mysql> USE databasename。接著就可以用SQL語句進行查詢了。如果需要退出數據庫服務器,可執行QUIT命令,這樣就成功退出服務器了。當然,由于 MySQL的知名度日益增加,許多第三方軟件公司推出了MySQL在Windows環境中的具有圖形界面的支持軟件,如EMS公司的EMS MYSQL MANAGER就提供了Windows形式的MySQL數據庫操作功能。

2 利用ODBC API實現MySQL數據庫功能調用

ODBC(Open Database Connectivity)即開放式數據庫互聯,作為Windows開放性結構的一個重要部分已經為很多的Windows程序員所熟悉,ODBC的工作依 賴于數據庫制造商提供的驅動程序,使用ODBC API的時候,Windows的ODBC管理程序把數據庫訪問的請求傳遞給正確的驅動程序,驅動程序再使用SQL語句指示DBMS(數據庫管理系統)完成 數據庫訪問工作,因此,ODBC的存在為我們開發應用數據庫程序提供了非常強大的能力和靈活性。在Windows下可以對多種數據庫安裝ODBC數據庫, 用來連接數據庫并訪問它們的數據。

對于MySQL數據庫服務器來說,它的制造商同樣提供了相應的ODBC驅動程序,其最新版本為myodbc-2.50.31-win95。在WIN98環境下進行安裝后,就可以利用編程語言通過ODBC API對MySQL數據庫進行各種ODBC所支持的操作。因為ODBC屏蔽了各種數據庫的差異,所以,原來用于對其它數據庫進行操作的程序,通過ODBC同樣能夠對MySQL數據庫進行操作。也就是說,ODBC使程序對數據庫的通用性提高了。

用VC通過ODBC API對MySQL數據庫進行編程,必須要對MySQL數據源進行設置,具體設置如圖1:

圖1 數據源設置信息

通過上圖的設置,接著我們就可以按照一般的ODBC數據庫編程方法,對MySQL數據庫進行編程。

#p#

3 利用MySQL自帶的C API函數實現數據庫功能調用

由 于各個數據庫之間的差異,它們所提供的數據庫功能也就各有不同。這樣,通過ODBC API就不可能完全擁有所有的數據庫功能,因而影響了程序對數據庫的控制功能,也就不能充分發揮數據庫的能力。并且這種統一的接口還是以損失效能為前提 的,這就使數據庫操作時間延長。所以,為了解決以上問題,MySQL的制造商在提供ODBC驅動程序的基礎上,還提供了各種編程環境下的API,其中包括 C API。這些API函數很顯然能盡可能地發揮數據庫的能力,并減少數據庫操作的延長時間,但卻使程序的通用性受到嚴重影響。

MySQL提供了一套C API函數,它由一組函數以及一組用于函數的數據類型組成,這些函數與MySQL 服務器進行通信并訪問數據庫,可以直接操控數據庫,因而顯著地提高了操控效能。

C API數據類型包括:MYSQL(數據庫連接句柄)、MYSQL_RES(查詢返回結果集)、MYSQL_ROW(行集)、MYSQL_FIELD(字段 信息)、MYSQL_FIELD_OFFSET(字段表的偏移量)、my_ulonglong(自定義的無符號整型數)等;C API提供的函數包括:mysql_close()、mysql_connect()、mysql_query()、 mysql_store_result()、mysql_init()等,其中mysql_query()最為重要,能完成絕大部分的數據庫操控。

下面將具體討論數據庫操作類CDatabase通過C API的實現以及在VC中的應用。

3.1 CDatabase類的實現

CDatabase類封裝了MySQL數據庫的功能,因此不具備通用性,只能在對MySQL的應用程序中使用。下面將根據C++要求及規范給出CDatabase類的具體結構以及相關簡要介紹:

1 class CDatabase
2 {
3 public:
4 BOOL UnLockTable(); //解鎖
5 BOOL LockTable(char* TableName,char* PRIORITY); //加鎖
6 int Reload(); //重新登陸,非零時返回錯誤信息
7 char* GetState(); //服務器狀態
8 char* GetServerInfo(); //服務器信息
9 int GetProtocolInfo(); //協議信息
10 char* GetHostInfo(); //主機信息
11 char * GetClientInfo(); //客戶機信息
12 char* GetFieldName(int FieldNum); //字段名
13 BOOL IsEnd(); //是否最后
14 int DropDB(char *db); //刪除數據庫,非零時返回錯誤信息
15 void SeekData(int offset); //查找指定數據
16 int CreateDB(char *db); //創建數據庫,非零時返回錯誤信息
17 void FreeRecord(); //釋放結果集
18 unsigned int GetFieldNum(); //得到字段數
19 BOOL ConnectDB(Database_Param *p); //連接數據庫
20 MYSQL_ROW GetRecord(); //得到結果(一個記錄)
21 my_ulonglong GetRowNum(); //得到記錄數
22 BOOL SelectDB(Data_Param *para); //選擇數據庫
23 BOOL UpdateRecord(Data_Param *para); //更新記錄
24 BOOL SelectRecord(Data_Param *para); //選擇記錄
25 BOOL InsertRecord(Data_Param *para); //插入記錄
26 BOOL DelRecord(Data_Param *para); //刪除記錄
27 BOOL SelectAll(Data_Param *para); //選擇所有記錄
28 char * OutErrors(); //輸出錯誤信息
29 CDatabase(); //初始化數據庫
30 virtual ~CDatabase(); //關閉數據庫連接
31 private:
32 MYSQL mysql; //數據庫連接句柄
33 MYSQL_RES *query; //結果集
34 MYSQL_ROW row; //記錄集
35 MYSQL_FIELD *field; //字段信息(結構體)
36 BOOL FindSave(char *str); //查找并保存結果集
37 };

 
通過CDatabase類中定義的這些功能函數,我們可以通過遠程或本機完成對MySQL數據庫的絕大部分操控,并且由于定義了解鎖和加鎖功能,使得應用程序能夠多線程或多進程地訪問數據庫,大大提高了效能。以上函數的具體功能都是通過調用C API函數實現的。

3.2 CDatabase類在VC中的應用

第一步 建立初始化MySQL對象,并且將其初始化。即定義CDatabase類對象,這樣程序就會自動調用構造函數CDatabase(),完成初始化。

構造函數實現如下:

1CDatabase::CDatabase ()
2{
3mysql_init (mysql);
4}

完成初始化只需定義CDatabase類對象,即5CDatabase base;

第二步 連接服務器,并連接需要的數據庫。即調用ConnectDB(Database_Param *p)函數,結構體Database_Param中存放數據庫參數,包括主機名、用戶名、密碼、數據庫名等。該函數如返回TRUE表示連接成功,否則表示失敗。

連接函數實現如下:

1 BOOL CDatabase::ConnectDB(Database_Param *p)
2 {
3 if(!mysql_real_connect(mysql,p->host,p->user,p->password,

p->db,p->port,p->unix_socket,p->client_flag))
4 {
5 OutErrors(); // 輸出錯誤信息
6 return false;
7 }
8 return true;
9 }

第三步 對數據庫進行加鎖。即調用LockTable(char* TableName,char* PRIORITY),對相應的表TableName完成相應屬性PRIORITY的加鎖,使程序兼容多線程功能。 加鎖函數實現如下:

1 BOOL CDatabase:: LockTable(char* TableName,char* PRIORITY)
2 {
3 char str[50];
4 sprintf(str,"LOCK TABLES %s %s",TableName,PRIORITY);
5 if(mysql_query(mysql,str))
6 return false;
7 return true;}

第四步 完成數據庫操作。即根據需要調用UpdateRecord(Data_Param *para)、SelectRecord(Data_Param *para)、InsertRecord(Data_Param *para)、DelRecord(Data_Param *para)等操作。其中的結構體Data_Param中存放數據庫操作參數。上述兩個結構體的定義在global.h中。 InsertRecord函數實現如下,其它實現方法相似:

1 BOOL CDatabase::InsertRecord(Data_Param *para)
2 {
3 char str[80];
4 sprintf(str,"insert into %s values(%s)",para->tab_name,para->insert_val);
5 if(mysql_query(mysql,str))
6 return false;
7  return true;
8 }


第五步 解鎖數據庫。即調用UnLockTable(),完成對上述被加鎖的表的解鎖。 解鎖函數實現如下:

第六步 關閉數據庫連接。即調用析構函數~CDatabase(),關閉數據庫,并自動釋放初始化時定義的CDatabase類對象。 析構函數如下:CDatabase::~CDatabase()

1 {
2 if(query)
3 mysql_free_result(query);
4 mysql_close(mysql);
5 }

注意:在編譯程序時,必須加入MySQL的庫文件libmySQL.lib。

4 MySQL性能測試

4.1 ODBC API 通過索引讀取200萬行:528秒

插入35萬行: 750秒

4.2 C API

通過索引讀取200萬行:412秒

插入35萬行:435秒

4.3 其它數據庫(以MS_SQL為例,WINNT環境)

通過索引讀取200萬行:1634秒

插入35萬行:4012秒

注:以上數據是多次測量的平均值,不可避免一定的誤差,僅供參考。

5 結束語

MySQL 作為一個免費的SQL數據庫,雖然功能不夠十分強大,且靈活性較差,但是,已經能夠滿足一般應用軟件的要求,而且MySQL數據庫的開發者也在力求使之更 加完善。并且,由MySQL性能測試可以看出,它對數據的處理速度明顯快于其它數據庫服務器。因此,如果應用軟件對數據庫的性能要求較高,而同時對數據庫 操作的功能及靈活性的要求不是很高的話,并且前期投入資金較少時,MySQL數據庫服務器不失為一個最佳的選擇。

【編輯推薦】

  1. 深入淺出MySQL雙向復制技術
  2. MySQL百萬級高并發網站實戰攻略
  3. 在Windows系統上安裝Apache,MySQL
責任編輯:彭凡 來源: IT168
相關推薦

2010-05-13 14:57:03

MySQL數據庫接口

2010-06-12 17:06:44

2010-06-01 10:47:21

連接MySQL數據庫

2010-06-09 10:09:39

MySQL 數據庫導入

2010-06-02 16:57:50

MySQL數據庫同步

2010-05-13 13:49:09

MySQL數據庫

2010-10-26 15:54:02

連接oracle數據庫

2011-03-11 16:42:51

Oracle數據庫視圖

2011-08-23 15:16:54

OracleMySQL

2010-05-26 10:15:11

MySQL數據庫

2010-06-04 10:05:55

MySQL數據庫還原

2010-05-20 15:22:37

2010-05-28 11:41:46

MySQL數據庫備份

2019-07-05 11:20:31

PythonMySQL數據庫

2011-07-28 17:02:59

MYSQL數據庫跨表更新數據并合

2018-05-14 16:14:56

數據庫MySQL分表與分區

2010-06-12 14:02:13

2024-04-08 10:11:15

MYSQL數據庫事務

2010-05-12 17:45:03

MySQL數據庫引擎

2011-07-06 10:49:50

MySQL優化
點贊
收藏

51CTO技術棧公眾號

1024成人网| 麻豆精品视频在线观看视频| 国产偷亚洲偷欧美偷精品| 国产成人手机视频| 在线免费观看的av| 国产成人无遮挡在线视频| 91国内揄拍国内精品对白| 最新中文字幕av| 亚洲一二av| 色婷婷激情久久| xxxxxx在线观看| 欧美高清电影在线| 国产乱码一区二区三区| 日本欧美黄网站| 欧美成欧美va| 日本不卡免费一区| 亚洲国产成人精品女人久久久 | 在线视频亚洲一区| 青草网在线观看| 91精品国产91久久久久久吃药| 欧洲一级黄色片| 国产精品白丝久久av网站| 精品久久久国产精品999| 亚洲欧美日韩综合一区| 日夜干在线视频| 国产成人自拍在线| 国产在线观看精品| 成人h动漫精品一区二区下载| 欧美日韩1区| 日日狠狠久久偷偷四色综合免费| 久久人妻一区二区| 亚洲国产高清在线观看| 欧美精品一卡二卡| 老司机午夜av| 精品无码人妻一区二区三区品| 日本在线观看www| 波多野洁衣一区| 91原创国产| 国产欧美综合视频| 久久精品国产久精国产爱| 欧美中文字幕在线| 精品成人久久久| 狠狠干综合网| 欧美人与物videos| 日本午夜在线观看| 98精品视频| 在线观看国产成人av片| 在哪里可以看毛片| 九九热线有精品视频99| 日韩成人在线网站| 制服丝袜第二页| 美女主播精品视频一二三四| 亚洲电影免费观看| 私密视频在线观看| 欧美调教网站| 日韩激情av在线播放| 7788色淫网站小说| 视频小说一区二区| 久久精品夜色噜噜亚洲a∨| 午夜精品久久久久久不卡8050| 裸体裸乳免费看| 高清全集视频免费在线| 日韩毛片精品高清免费| 亚洲国产精品女人| 三级福利片在线观看| 亚洲一区二区四区蜜桃| 日本欧美视频在线观看| 999福利在线视频| 欧美午夜久久久| 日韩中文字幕二区| 国产精品传媒麻豆hd| 在线观看免费成人| 999这里有精品| 欧美特黄不卡| 337p日本欧洲亚洲大胆色噜噜| 免费日本黄色网址| 九九亚洲精品| 日韩有码在线电影| 久久精品视频免费在线观看| 亚洲高清二区| 日韩av免费在线观看| 在线播放精品视频| 国产经典欧美精品| 久久人人97超碰人人澡爱香蕉| 酒色婷婷桃色成人免费av网| 国产精品美女久久久久av爽李琼| 一级黄色片播放| 96av在线| 欧美日韩三级在线| 中文字幕一区二区三区人妻在线视频 | 亚洲制服中文字幕| 成人资源在线| 一区二区在线视频| 久久久精品国产sm调教网站| 午夜亚洲一区| 91亚洲永久免费精品| 少妇无码一区二区三区| 欧美激情自拍偷拍| 国产精品久久久久久久久电影网| 亚洲女色av| 91精品国产91热久久久做人人| 波多野结衣影院| 国产精品91一区二区三区| 久久久久久久97| 最近国语视频在线观看免费播放| 国产精品资源站在线| 久久综合狠狠综合久久综青草| 免费的黄网站在线观看| 精品久久久久久久久国产字幕| 伊人网在线综合| 任我爽精品视频在线播放| 久久夜色撩人精品| 久久久久久无码午夜精品直播| 欧美另类激情| 日本中文字幕一区二区视频| aa成人免费视频| 在线看av的网址| 欧美日韩综合视频网址| 91福利视频免费观看| 日本黄色精品| 日本久久久久久久久久久| 成人久久精品人妻一区二区三区| 国产精品久久免费看| 黄色一级片播放| 国产成人精品福利| 欧美成人黄色小视频| 奴色虐av一区二区三区| 99久久国产综合精品色伊| 中文字幕第50页| 欧美美女福利视频| 一个人看的www久久| 91久久国产视频| 成人性色生活片| 看一级黄色录像| 亚洲一区av| 中文字幕亚洲欧美| 波多野结衣电车痴汉| 91丨国产丨九色丨pron| 男的插女的下面视频| 欧美影院精品| 久久99亚洲热视| 国产av一区二区三区精品| 国产精品久久久久三级| 91极品尤物在线播放国产| 国产亚洲第一伦理第一区| 欧美壮男野外gaytube| 亚洲av成人精品一区二区三区在线播放| 亚洲免费色视频| 在线成人免费av| 欧美在线观看天堂一区二区三区| 成人久久精品视频| 久久久久久久久免费视频| 欧美日韩二区三区| 久草福利资源在线| 精品夜夜嗨av一区二区三区| 一本一本a久久| 国产精品蜜月aⅴ在线| 中文字幕亚洲欧美日韩高清| 亚洲av人无码激艳猛片服务器| 欧美激情资源网| 亚洲成人av免费看| 欧美好骚综合网| 亚洲最大成人免费视频| 色操视频在线| 亚洲精品国产综合区久久久久久久| 九九热国产视频| 99久久久精品免费观看国产蜜| 国产视频九色蝌蚪| 久久综合影院| 国产日产欧美a一级在线| 国产原创在线观看| 精品少妇一区二区三区在线播放 | 欧美日本视频在线| 成人免费视频网站入口::| 国产福利精品一区二区| 日韩精品在线观看av| 天天躁日日躁狠狠躁欧美| 国产精品第100页| 免费高清完整在线观看| 精品裸体舞一区二区三区| 日韩在线视频免费播放| 国产欧美精品一区| 国产精品19p| 亚洲免费网址| 欧美性视频在线播放| 大桥未久女教师av一区二区| 国产精品扒开腿做爽爽爽男男| jizz性欧美| 国产丝袜精品视频| 亚洲图片视频小说| 亚洲国产精品久久一线不卡| 国产肥白大熟妇bbbb视频| 国内精品伊人久久久久影院对白| 亚洲人成无码网站久久99热国产 | 中文字幕日韩av电影| 亚洲精品喷潮一区二区三区| 一本大道久久a久久精品综合| 免费中文字幕日韩| 久久久777精品电影网影网| 超碰在线资源站| 久久国产精品毛片| 福利在线小视频| 国产探花一区在线观看| 国产不卡一区二区在线观看| 高清欧美日韩| 91sao在线观看国产| 精品国产丝袜高跟鞋| 精品视频久久久久久久| 国产特级黄色片| 日本韩国一区二区| 日韩精品乱码久久久久久| 最新不卡av在线| 亚洲成人网在线播放| 国产一区高清在线| 成人免费毛片播放| 怡红院精品视频在线观看极品| 中文字幕免费在线不卡| 一区二区美女| 国产伦精品一区二区三| 欧美国产中文高清| 国产精品亚发布| 亚洲永久av| 97国产精品久久| 在线观看电影av| 啊v视频在线一区二区三区 | 操91在线视频| 中文日本在线观看| 亚洲美女视频网站| 人妻精品一区一区三区蜜桃91| 91精品久久久久久久99蜜桃| 嫩草影院一区二区三区| 欧美日韩另类在线| 国产无遮挡免费视频| 亚洲人成网站影音先锋播放| 久久午夜精品视频| 国产亚洲欧洲997久久综合| 欧美无人区码suv| 成人精品鲁一区一区二区| 国产a√精品区二区三区四区| 国产毛片精品国产一区二区三区| 一级黄色特级片| 日本不卡一区二区三区高清视频| 超碰网在线观看| 久久久久久自在自线| 日韩av在线综合| 久久亚洲色图| 国产日韩成人内射视频| 久久aⅴ乱码一区二区三区| 免费观看精品视频| 久久婷婷亚洲| 国产wwwxx| 久久99深爱久久99精品| 手机在线国产视频| 国精产品一区一区三区mba桃花 | 中文字幕69页| 色欧美88888久久久久久影院| 国产一区二区视频免费| 欧美天天综合网| 国产又粗又猛又黄| 欧美精品第1页| 精品国产av一区二区三区| 欧美大片免费久久精品三p| 成人毛片视频免费看| 亚洲精品成人久久电影| 精品资源在线看| 日韩在线观看免费高清| 3d玉蒲团在线观看| 久久久久久久爱| 男人久久天堂| 国产精品九九九| 99精品国产九九国产精品| 91九色在线观看| 成人爽a毛片| 久久综合伊人77777麻豆| 欧美日韩中字| 成人污网站在线观看| 一本一本久久| 五月婷婷丁香综合网| 国产乱码字幕精品高清av| 亚洲啪av永久无码精品放毛片| 久久综合精品国产一区二区三区| 日韩黄色中文字幕| 一区二区三区在线免费| 99久在线精品99re8热| 欧美色图天堂网| 亚洲国产精品视频在线| 亚洲欧美日韩天堂| 黄色在线免费网站| 国语自产偷拍精品视频偷 | 在线免费观看日韩欧美| 国产喷水福利在线视频| 日韩精品极品视频| 麻豆影视在线观看_| 97在线视频免费看| 国产成人午夜性a一级毛片| av成人在线电影| 精品国产乱码久久久久久果冻传媒| 无码人妻aⅴ一区二区三区日本| 一本色道88久久加勒比精品| 一级黄色片在线免费观看| av日韩在线网站| 久久国产波多野结衣| 欧美日韩国产一区二区| 国产免费不卡视频| 亚洲精品中文字幕女同| 四虎影院观看视频在线观看 | 中文天堂在线资源| 亚洲第一区中文99精品| 日韩在线观看www| 日本高清不卡的在线| 青草伊人久久| 亚洲综合欧美日韩| 免费在线成人| 久久人人爽人人人人片| 亚洲激情图片一区| 伊人久久一区二区| 亚洲视频在线观看视频| а√在线中文在线新版| 3d动漫啪啪精品一区二区免费| 国内精品久久久久久久影视简单| 日韩精品在线视频免费观看| 精品午夜一区二区三区在线观看| 巨胸大乳www视频免费观看| 一区二区三区在线高清| 一卡二卡三卡在线| 夜夜嗨av色综合久久久综合网| 欧美aa一级| 精品麻豆av| 伊人久久亚洲热| 国产清纯白嫩初高中在线观看性色| 亚洲欧洲韩国日本视频| 亚洲永久精品一区| 亚洲欧美一区二区精品久久久| 91禁在线看| 国产激情一区二区三区在线观看| 888久久久| 一级黄色片在线免费观看| 国产精品超碰97尤物18| 亚洲网站免费观看| 一区二区三区视频免费在线观看| 中文在线最新版地址| 国产亚洲欧美一区二区| 亚洲精品少妇| 中文字幕无码人妻少妇免费| 亚洲成人激情av| 亚洲 美腿 欧美 偷拍| 欧美一级淫片videoshd| 五月国产精品| 国产a视频免费观看| 日本一区二区三区在线不卡| 少妇一级淫片日本| 中文字幕精品网| 四虎视频在线精品免费网址| 一区二区三区一级片| 国产伦精品一区二区三区免费| 色婷婷在线视频观看| 欧美成人欧美edvon| 91福利在线尤物| 国产精品久久久久久免费观看 | 国产精品久久国产精麻豆99网站| 一级做a爱片性色毛片| 欧美精品免费播放| 粉嫩精品导航导航| 凹凸国产熟女精品视频| 久久久99久久| 国产精品国产一区二区三区四区| 欧美久久久精品| 国产精品三p一区二区| 欧美亚洲另类色图| 国产婷婷色一区二区三区四区 | 国产乱子轮精品视频| 国产一级黄色av| 亚洲免费成人av电影| 四虎影视4hu4虎成人| 可以在线看黄的网站| va亚洲va日韩不卡在线观看| 国内av在线播放| 欧美xxxx18性欧美| 日韩理论电影中文字幕| 视色视频在线观看| 一区二区国产视频| 日韩一区二区三区中文字幕| 国产精品永久免费观看| 午夜国产精品视频| 深爱五月激情网| 日韩一卡二卡三卡四卡| 天堂中文在线播放| 老司机av福利| av电影在线观看一区| 亚洲中文无码av在线| 久久久久久久久久久久久久久久久久av | 亚洲毛片在线| 欧日韩不卡视频| 亚洲国产高潮在线观看| 成人精品国产亚洲| 国产精品999视频| 亚洲欧洲精品天堂一级| 日韩在线免费看| 岛国一区二区三区高清视频| 日韩av在线发布|