• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0

            手動注冊:

                  大家知道,當我們安裝VC++6.0/VB6.0時,如果選擇了ACtiveX控件項(自定義安裝),MSComm控件就會自動安裝在計算機上了,并在系統文件夾下多了3個文件:Mscomm.srg, Mscomm32.ocx,Mscomm32.dep

              注意,操作系統不同,則系統文件夾不同:
                   Win98:    windows/system
                   Win2000:  winnt/system32

                 那么用了MSComm控件的程序在發布時或者在VS2008開發環境下如何來注冊MSComm控件呢?發布程序時可以用安裝程序,我們這里不介紹,只談談如何手工來注冊安裝MSComm控件。

             

              第一步:將Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三個文件復制到系統文件夾中。要注意的是,MSComm控件是要授權的,所以必須將其使用“執照”Licence 在注冊表中登記注冊,下一步就是注冊方法。至于為什么要這樣做,可以看看下面的網頁:http://support.microsoft.com/support/kb/articles/q151/7/71.asp

              

              第二步:用Windows下的注冊工具regsvr32注冊該OCX控件,點擊“開始”->"運行",再在中填入(假設操作安裝在C盤,WIN2000):

                  Regsvr32  C:\winnt\system32\Mscomm32.ocx

             

                第三步:在注冊表中手工新建一個主鍵項:先在點擊“開始”->"運行",再在中填入regedit命令打開注冊表,找到HKEY_CLASSES_ROOT\Licenses,在其中添加主鍵
            4250E830-6AC2-11cf-8ADB-00AA00C00905 并將內容設置為:

                   kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

               (注:這項內容也可以用記事本程序打開Mscomm.srg文件看到)

             

              在VC(包括VC.NET)中應用,我已經介紹多次了,這里再說說在Delphi中的應用:進入Delphi環境中,選擇菜單命令:Component->Import ActiveX Control,在列表中可以看到Microsoft Comm Control,version 6.0, 選中后點擊Install按鈕,就完成安裝。在ActiveX控件頁上可以看到MSComm控件的電話圖標。

            以上轉自:http://www.gjwtech.com/scomm/manaualregistermscomm.htm


            自動注冊:
                 
                  運行附件中的“注冊.cmd”完成自動注冊 MSComm控件。  MSComm
                   

            posted @ 2013-03-20 10:23 王海光 閱讀(1823) | 評論 (0)編輯 收藏
            1、安裝mysql-5.0.22-win32mysql-connector-odbc-5.1.12-win32.msi
                然后:開始菜單->設置->控制面板->管理工具->數據源(ODBC)->系統DSN->添加->選擇MySQL ODBC 5.1 Driver

            2、首先導入ADO類型庫,您的環境中msado15.dll不一定在這個目錄下,請按實際情況修改。或者把msado15.dll這個文件拷貝到你的工程目錄下,直接#import "msado15.dll" \ no_namespace \rename ("EOF", "adoEOF")包含進來。
            在stdafx.h加入如下代碼:
            #include <afxdb.h>        // MFC Automation classes
            #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")

            3、代碼示例:

            .h文件:
            /************************************************************************
            *Copyright:
            *FileName:ADOConn.h
            *
            *Author:wanghaiguang
            *Date:2013-03-07
            *Description:ADO Operate MySql DataBase
            ***********************************************************************
            */

            #pragma once

            class CADOConn
            {
            public:
                CADOConn(void);
                ~CADOConn(void);

            public:
                //添加一個指向Connection對象的指針:
                _ConnectionPtr m_pConnection;
                //添加一個指向Recordset對象的指針:
                _RecordsetPtr m_pRecordset;
                // 定義方法
            public:
                // 初始化—連接數據庫
                void OnInitADOConn();
                // 執行查詢
                _RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
                // 執行SQL語句,Insert Update _variant_t
                BOOL ExecuteSQL(_bstr_t bstrSQL);
                void ExitConnect();
            };

            .cpp文件:
            #include "StdAfx.h"
            #include "ADOConn.h"

            CADOConn::CADOConn(void)
            {
            }

            CADOConn::~CADOConn(void)
            {
            }

            /************************************************************************
            *Function   : OnInitADOConn
            *Description: Init DataBase Connect
            *param      : bconString[in] ()
            *return     : void
            ***********************************************************************
            */
            void  CADOConn::OnInitADOConn()
            {
                // 初始化OLE/COM庫環境 
                ::CoInitialize(NULL);
                HRESULT hr;
                  
                try
                {
                     // 創建Connection對象,可以通過配置文件獲取連接信息
                     hr = m_pConnection.CreateInstance("ADODB.Connection");
                     if(SUCCEEDED(hr))
                     {
                         m_pConnection->ConnectionTimeout=600;//設置連接超時時間
                         m_pConnection->CommandTimeout=120;//設置執行命令超時時間
                    
                         m_pConnection->Open("DSN=MySqlTest;Server= localhost;Database=school","root","sa",adModeUnknown);
                     }
                } 
                // 捕捉異常
                catch(_com_error e)
                {
                    // 顯示錯誤信息
                    AfxMessageBox(e.Description());
                }
            }

            /************************************************************************
            *Function   : GetRecordSet
            *Description: Select Data
            *param      : bstrSQL[in] SQL
            *return     : _RecordsetPtr
            ***********************************************************************
            */
            _RecordsetPtr&  CADOConn::GetRecordSet(_bstr_t bstrSQL)
            {
                try
                {
                    // 連接數據庫,如果Connection對象為空,則重新連接數據庫
                    if(m_pConnection==NULL)
                        OnInitADOConn();
                    // 創建記錄集對象
                    m_pRecordset.CreateInstance(__uuidof(Recordset));
                    // 取得表中的記錄
                    m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
                }
                // 捕捉異常
                catch(_com_error e)
                {
                    // 顯示錯誤信息
                    AfxMessageBox(e.Description());
                }
                // 返回記錄集
                return m_pRecordset;
            }

            /************************************************************************
            *Function   : ExecuteSQL
            *Description: Exec SQL For Insert Update _variant_t
            *param      : bstrSQL[in] SQL
            *return     : BOOL
            ***********************************************************************
            */
            BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)
            {
                // _variant_t RecordsAffected;
                try
                {
                    // 是否已經連接數據庫
                    if(m_pConnection == NULL)
                            OnInitADOConn();
                    // Connection對象的Execute方法:(_bstr_t CommandText, 
                    
            // VARIANT * RecordsAffected, long Options ) 
                    
            // 其中CommandText是命令字串,通常是SQL命令。
                    
            // 參數RecordsAffected是操作完成后所影響的行數, 
                    
            // 參數Options表示CommandText的類型:adCmdText-文本命令;adCmdTable-表名
                    
            // adCmdProc-存儲過程;adCmdUnknown-未知
                    m_pConnection->Execute(bstrSQL,NULL,adCmdText);
                    return true;
                }
                catch(_com_error e)
                {
                    AfxMessageBox(e.Description());
                    return false;
                }
            }

            /************************************************************************
            *Function   : ExitConnect
            *Description: Exit Connect DataBase
            *param      : 
            *return     : void
            ***********************************************************************
            */
            void CADOConn::ExitConnect()
            {
                // 關閉記錄集和連接
                if (m_pRecordset != NULL)
                {
                    m_pRecordset->Close();
                    //m_pRecordset->Release();
                }
                m_pConnection->Close();
                //m_pConnection->Release();
                
            // 釋放環境
                ::CoUninitialize();
            }

            其他連接數據庫:

            BOOL ConnectMySqlFun1()
            {
                CoInitialize(NULL); //初始化Com組件
                conPtr.CreateInstance(__uuidof(Connection)); //Connection用于與數據庫服務器的鏈接另一種方式
                /******************連接數據庫********************/
                try
                {
                    // MySqlTest為數據源名 localhost表示本地 root表示用戶名 sa表示密碼
                    conPtr->Open("DSN=MySqlTest;server=localhost;database=school;","root","sa",adModeUnknown);///連接MySql數據庫(測試成功)
                }
                catch(_com_error e) //捕捉異常
                {
                    printf("Connect Error : %s", e.Description());
                    return FALSE;
                }

                return TRUE;
            }

            BOOL ConnectMySqlFun2()
            {
                CoInitialize(NULL); //初始化Com組件
                try
                {
                    //創建連接對象實例
                    conPtr.CreateInstance("ADODB.Connection");
                    //設置連接字符串
                    
            //mdb------------------------------------------------
                    CString strConnect="DSN=MySqlTest";
                    //使用Open方法連接數據庫
                    conPtr->Open((_bstr_t)strConnect,"root","sa",adModeUnknown);
                }
                catch(_com_error e)
                {
                    printf("Connect Error : %s", e.Description());
                    return FALSE;
                }
                return TRUE;
            }

            操作MySql數據庫:
                CADOConn m_ADO;
                m_ADO.OnInitADOConn();
                    
                //設置SELECT語句
                _bstr_t vSQL, vInserSQL;
                vSQL = "select name from teacher";
                //設置INSERT語句
                vInserSQL = "insert into teacher values(27, 'hai', '哈爾濱六中', '1998-05-05')";
                ///執行INSERT語句
                if (m_ADO.ExecuteSQL(vInserSQL))
                {
                    printf("Insert Data Successful!!!");
                }

                //執行SELETE語句
                _RecordsetPtr m_pRecordset;
                m_pRecordset = m_ADO.GetRecordSet(vSQL);

                CString name0;
                //返回各列的值
                while (!m_pRecordset->adoEOF)
                {
                    name0 = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("name");
                    //CString name=(CString)recordPtr->GetCollect(_variant_t("name")).bstrVal;
                    
            //int no=recordPtr->GetCollect(_variant_t("stuno")).intVal;
                    printf("name : %s\n", name0);
                    m_pRecordset->MoveNext();
                }
                //斷開與數據庫的連接
                m_ADO.ExitConnect();

            參考鏈接:http://www.shnenglu.com/current/archive/2009/07/24/91069.html
            posted @ 2013-03-07 15:30 王海光 閱讀(4894) | 評論 (0)編輯 收藏
            方法1:

            In the Options go into Projects and Solutions -> VC++ Directories page and place this rows:

            $(SystemRoot)\System32
            $(SystemRoot)
            $(SystemRoot)\System32\wbem

            適用VC8的各種工程項目(包括移動設備的項目),如果在加了以后還出現這樣的錯誤提示,將上面的三句刪除掉,重新加一次就可以。

            方法2:

            在Visual Studio中,選擇工具->選項->工程和解決方案->VC++目錄 
            點擊上方的像文件夾的按鈕-新建行,然后在空白處添加cmd.exe所在的目錄C:\Windows\System32\ (如果你是默認裝在C盤的話)點擊確定,就OK了。 

            In VS, go to 

            tools>options>projects and solutions>VC++ Directories 

            click the little folder button (new line) then in the new line that appears put: 

            本文轉自:http://www.shnenglu.com/zhangyq/archive/2009/02/16/73940.html
            posted @ 2013-03-07 10:49 王海光 閱讀(1102) | 評論 (1)編輯 收藏
            代碼下載:
                        
                        Socket編程示例_異步

                        Socket編程示例_同步
            posted @ 2013-03-01 16:10 王海光 閱讀(916) | 評論 (0)編輯 收藏
            代碼示例:

            #include <Sensapi.h>
            #pragma comment(lib, "Sensapi.lib")
            BOOL CheckNetIsOK(const CString sUpdateIP)
            {
                //Judge Network is Connected
                int nCount = 1;
                do 
                {
                    DWORD dw;
                    if( IsNetworkAlive(&dw))
                    {
                        break;
                    }
                    else
                    {
                        Sleep(10000);
                        CString sNetWorkConnect;
                        sNetWorkConnect.Format("第%d次網絡未成功連接, 10秒后重試", nCount);
                        m_recvCtrl.SetWindowText(sNetWorkConnect);
                        nCount++ ;
                    }
                } while (nCount <4);

                if (nCount == 4)
                {
                    m_recvCtrl.SetWindowText("網絡連接失敗, 共檢測40秒");
                    return FALSE;
                }

                DWORD n = CCommonFun::WinExecAndWait32(_T("ping.exe"), sUpdateIP + " -n 2"/*sCmdPara*/, NULL, 10000);
                if (n == 0)
                {
                    return TRUE;
                }
                else
                {
                    CString sNetWorkConnect;
                    sNetWorkConnect.Format("網絡連接正常, Ping:%s 失敗, 請檢測此IP對應的服務器是否正常工作", sUpdateIP);
                    m_recvCtrl.SetWindowText(sNetWorkConnect);
                    return FALSE;
                }
            }

            posted @ 2013-03-01 15:51 王海光 閱讀(7547) | 評論 (5)編輯 收藏
            代碼示例:
                int LineNum=m_recvCtrl.GetLineCount();
                if(LineNum > 100)                                // 超過最大信息顯示行數
                {
                    m_recvCtrl.SetSel(0, -1);
                    m_recvCtrl.Clear();                            // 清空編輯框
                }    

                CTime RevTime = CTime::GetCurrentTime();
                CString Temp = RevTime.Format("[%Y/%m/%d %H:%M:%S]: ");

                CString strEdit;    
                m_recvCtrl.GetWindowText(strEdit);   
                m_recvCtrl.SetSel(strEdit.GetLength(), strEdit.GetLength());  
                m_recvCtrl.ReplaceSel(Temp + sText + "\n");
            posted @ 2013-03-01 15:50 王海光 閱讀(2690) | 評論 (0)編輯 收藏
            代碼示例:
            CString GetPeerName_(SOCKET so)
            {
                struct sockaddr_in sa;
                int len = sizeof(sa);
                getpeername(so, (struct sockaddr *)&sa, &len);

                return CString(inet_ntoa(sa.sin_addr));
            }
            posted @ 2013-03-01 15:46 王海光 閱讀(2709) | 評論 (0)編輯 收藏

            mysql資源

              mysql5.1中文參考手冊

            mysql管理

              基于linux使用mysql二進制包安裝mysql5.5

              mysql client命令行選項

              mysqld服務器系統變量和狀態變量

              mysql SQL服務器模式

              mysql 賬戶管理

              mysql日志文件

              

              mysql列類型

              mysql數據庫操作

              mysql創建和刪除表

              mysql修改表

              mysql索引操作

              mysql索引詳解

             

              mysql select操作

              mysql insert操作

              mysql load操作

              mysql update操作

              mysql 刪除操作

              mysql join操作

              mysql子查詢

              mysql函數

             

              mysql show操作

              mysql flush操作

              mysql kill操作

              mysql表維護操作

              mysql導入導出

             

            mysql調優

              MySQL執行計劃解讀

              MySQL Profiling 的使用

                mysql常見sql優化

              mysql日志設置優化

              MySQL緩存參數優化

              MySQL表結構優化

              MySQL 索引優化 

              MySQL SQL優化

              MySQ 存儲引擎選擇

               MySQL硬件瓶頸分析

              硬件環境對系統性能的影響

             

              MySQL內存使用-全局共享

              MySQL內存使用-線程獨享

              mysql數據庫鎖定機制

              Join的實現原理及優化思路

              mysql ORDER BY,GROUP BY 和DISTINCT原理

            mysql架構

              mysql主要應用場景

              MySQL Server系統架構

              MySQL Replication 常用架構

              可擴展性設計之數據切分

              可擴展性設計之Cache與Search的利用

             

            nosql

              NoSQL數據庫筆談

            redis

              redis官方文檔

              redis中文官方文檔

              Redis命令參考中文版翻譯

              入門資料

                Redis新手入門詳解

                redis快速入門詳解PPT

                redis中文入門手冊

                redis深入淺出

                

              Redis數據庫?-Redis的Virtual Memory介紹

              Redis 或棄用當前 VM 機制,采用新的 diskstore 模型

              Redis內存使用優化與存儲

              節約內存:Instagram的Redis實踐

              Redis進階教程-aof(append only file)日志文件 

             

              Redis作者談Redis應用場景

              Memcached真的過時了嗎?看看Redis作者怎么說

              淺談Redis數據庫的鍵值設計

              案例:用Redis來存儲關注關系

              Bump的Redis應用經驗

             

              Redis容量及使用規劃

              Redis幾個認識誤區

              使用Redis的五個注意事項

             

                Redis大數據之路

              新浪微博開放平臺中的redis實踐

              Redis運維之道

             

              Redis復制與可擴展集群搭建

                Redis監控技巧

              深入Redis內部-Redis 源碼講解

             

              

             

             


            本文轉自:
            http://www.cnblogs.com/ggjucheng/archive/2012/11/02/2751119.html 
            posted @ 2013-02-27 16:13 王海光 閱讀(390) | 評論 (0)編輯 收藏

            海量數據

                大數據量,海量數據 處理方法總結

                布隆過濾器應用

                悉數那些“巨型”數據倉庫

                Hadoop在業界的使用情況

                淘寶Hadoop集群的概況

              分布式

                Paxos在大型系統中常見的應用場景

            hadoop的實現

                

                HDFS的基本概念

                HDFS 讀寫流程

                HDFS namenode源碼分析 

                HDFS datanode源碼分析

                  HDFS dfsclient讀文件過程 源碼分析

                  HDFS dfsclient寫文件過程 源碼分析

                MapReduce源碼分析總結

             

                mapreduce作業流程概論

                How MapReduce Works 

             

                基于hadoop的crc校驗談hadoop的離線設計思想

                Hadoop在MapReduce中使用壓縮詳解

                HDFS數據的Checksum

                Hadoop開發常用的InputFormat和OutputFormat

                Hadoop之failed task和killed task

                Hadoop的調度器總結

              管理

                hadoop集群部署

                hadoop部署注意項

                hadoop配置文件說明

                hadoop集群默認配置和常用配置

                  hadoop集群測量

                Hadoop管理員的十個最佳實踐

                Hadoop 權限管理

             

                Hadoop FS Shell

                Hadoop Shell 講解

                hadoop fs -count的結果含義

             

             

                Hadoop添加節點datanode

                Hadoop刪除節點

                hadoop SecondaryNameNode和NameNode

                hadoop 根據SecondaryNameNode恢復Namenode

                hadoop機架感知

             

                HDFS 安全模式

                hadoop的dfs.replication

                Hadoop回收站trash

                hadoop升級

             

                Hadoop計算能力調度器算法解析

                Hadoop計算能力調度器應用和配置

             

                hadoop和kerberos的整合總結

                hadoop的dfs.umask

             

                NFS服務對Hadoop(hdfs)集群影響測試

                Facebook團隊關于Hadoop/HBase在SSD上的實驗和討論

              調優

              架構設計

               Hadoop使用場景

            hive

              Hive體系架構

              應用

                Hadoop和Hive的數據處理流程

              管理

                hive部署手冊

                hive元數據中utf8的修改

                  hive并發調用的運行方式-個人經驗篇

                 

                hive Cli常用操作(翻譯自Hive wiki)

                hive數據類型(翻譯自Hive Wiki)

             

                hive 創建/刪除/截斷 表(翻譯自Hive wiki)

                hive數據操作(翻譯自Hive wiki+實例講解)

                hive原生和復合類型的數據加載和使用

                  hive修改 表/分區語句

             

                hive select操作(翻譯自Hive wiki)

                hive GroupBy操作(翻譯自Hive wiki)

                  hive 中 Order by, Sort by ,Dristribute by,Cluster By 的作用和用法

                 Hive Join(翻譯自Hive wiki)

                 hive lateral view語句(翻譯自Hive wiki)

                 Hive Union(翻譯自Hive wiki)

                 Hive子查詢(翻譯自Hive wiki)

                 hive實例講解實現in和not in子句

                 Hive Explain(翻譯自Hive wiki)

                 Hive虛擬列(翻譯自Hive wiki)

                 hive 鎖定(翻譯自Hive wiki)

             

                  hive函數(Hive wiki)

                hive udf開發流程(Hive wiki)

                hive udaf開發入門和運行過程詳解

                hive中UDTF編寫和使用

                hive屬性(Hive wiki)

             

                hive中分組取前N個值的實現

             

                hive sql遇到的問題

              優化

                hive大數據傾斜總結

                hive join詳解

                 

                hive文件存儲格式

             

                hive怎樣決定reducer個數

                hive的hive.exec.parallel參數說明

                hive local hadoop特性    

            hbase

              管理

                Hbase配置手冊

            pig

              介紹入門

                Apache Pig入門 –介紹/基本架構/與Hive對比

              管理

                pig部署手冊

              教程

                Apache Pig中文教程集合

              

             
            本文轉自:http://www.cnblogs.com/ggjucheng/archive/2012/04/22/2465625.html

            posted @ 2013-02-27 16:09 王海光 閱讀(433) | 評論 (0)編輯 收藏

             GDB 是GNU開源組織發布的一個強大的UNIX下的程序調試工具。或許,各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調試,但如果你是在 UNIX平臺下做軟件,你會發現GDB這個調試工具有比VC、BCB的圖形化調試器更強大的功能。所謂“寸有所長,尺有所短”就是這個道理。 一般來說,GDB主要幫忙你完成下面四個方面的功能:

            1. 啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序。
            2. 可讓被調試的程序在你所指定的調置的斷點處停住。(斷點可以是條件表達式)
            3. 當程序被停住時,可以檢查此時你的程序中所發生的事。
            4. 動態的改變你程序的執行環境。

                    從上面看來,GDB和一般的調試工具沒有什么兩樣,基本上也是完成這些功能,不過在細節上,你會發現GDB這個調試工具的強大,大家可能比較習慣了圖形化的調試工具,但有時候,命令行的調試工具卻有著圖形化工具所不能完成的功能。讓我們一一看來。

             

            gdb基本命令列表:   

                                                                 

             

            實例:

            1 新建一個源文件vi swap.cc


            源文件內容如下:

            #include<iostream>
            using namespace std;
            void swap(int &a,int &b)
            {
                    int tmp;
                    tmp=a;
                    a=b;
                    b=tmp;
            }

            int main()
            {
                    int i,j;
                    cout<<endl<<"Input two int number:"<<endl;
                    cin>>i>>j;
                    cout<<"Before swap(),i="<<i<<" j="<<j<<endl;
                    swap(i,j);
                    cout<<"After swap(),i="<<i<<" j="<<j<<endl<<endl;
                    return 0;
            }

            直接復制粘貼生成源文件

             2.生成可執行文件 g++ -g -o swap swap.cc,注意必須使用-g參數,編譯會加入調試信息,否則無法調試執行文件

            3.啟動調試 gdb swap


                   3.1  查看源文件 list 1,回車重復上一次指令


                         3.2設置調試斷點 break 16,在第16行設置斷點,info break查看斷點信息(亦可使用縮寫i b )



                     3.3 調試  運行 輸入run 或者


                     3.3 單步調試,step 或者 s進入函數內部


                            3.4查看變量 print b 或者 p b


                            3.5查看函數堆棧bt,退出函數finish


                               3.6  繼續運行直到下一個斷點或主函數結束continue或者c


                              3.7 退出調試 輸入q

             



            本文轉自:http://blog.csdn.net/wfdtxz/article/details/7368357

            其他鏈接:http://blog.csdn.net/zzymusic/article/details/4815142
                    http://blog.sina.com.cn/s/blog_7dc317590101bouz.html
            posted @ 2013-02-27 15:38 王海光 閱讀(529) | 評論 (0)編輯 收藏
            僅列出標題
            共27頁: First 6 7 8 9 10 11 12 13 14 Last 
            亚洲国产美女精品久久久久∴| 久久99国内精品自在现线| 久久国产劲爆AV内射—百度| 色综合色天天久久婷婷基地| 久久综合精品国产二区无码| 香蕉99久久国产综合精品宅男自| 久久―日本道色综合久久| 久久久久国产一区二区| 久久伊人中文无码| 一本色综合久久| 亚洲AV无码久久精品成人| 93精91精品国产综合久久香蕉| 情人伊人久久综合亚洲| 国内精品伊人久久久久妇| 精品伊人久久大线蕉色首页| 亚洲成色999久久网站| 日本五月天婷久久网站| 国产精久久一区二区三区| 久久综合久久性久99毛片| 丁香狠狠色婷婷久久综合| 天天爽天天爽天天片a久久网| 综合久久给合久久狠狠狠97色| 国产精品久久自在自线观看| 国产美女亚洲精品久久久综合| 亚洲国产精品久久电影欧美| 久久国产成人午夜aⅴ影院 | 久久亚洲精精品中文字幕| 午夜精品久久久久久| 久久精品免费大片国产大片| 欧美噜噜久久久XXX| 久久久久亚洲AV无码专区网站| 99久久国产综合精品麻豆| 亚洲精品无码久久一线| 日产久久强奸免费的看| 久久久久亚洲精品中文字幕| 久久精品国产秦先生| 久久成人18免费网站| 久久国产精品久久久| 99久久99久久| 91精品久久久久久无码| 久久99亚洲综合精品首页|