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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? configinfo.cpp

?? 數(shù)據(jù)庫開發(fā)
?? CPP
字號(hào):
#include "stdafx.h"
#include "ConfigInfo.h"
#include "DataBind.h"
#include "SQLExec.h"
//#include "..\reg\registry.h"
/*zhou added 2008 1-17*/
#include <string.h> 

CConfigInfo::CConfigInfo()
{
	m_sPath = _T("F:\\DataTest\\data");
	m_dtToday = CTime::GetCurrentTime();
	m_nYear = m_dtToday.GetYear();
	m_nMonth = m_dtToday.GetMonth();
	InitInstance();
	for(int i=0;i<27;i++)
	{
		m_bItemState[i] = true;
	}
}

CConfigInfo::~CConfigInfo()
{
	ExitInstance();
}

BOOL CConfigInfo::ADOExec(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
	if ( ADOSet->State == adStateOpen)	ADOSet->Close();
	try
	{
       	ADOSet->Open(strSQL, m_ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
	    return TRUE;
	}
	catch(_com_error &e)
	{
       CString err;
	   err.Format("ADO Error: %s",(char*)e.Description());
	   AfxMessageBox(err);
	   return FALSE;
	}
}

BOOL CConfigInfo::InitInstance()
{
	// Init Login Count
//	m_nLoginCount = 0;
	CString sz;
	sz = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = ";
	sz = sz + m_sPath + "\\AirMonitor.mdb";
	sz = sz + " ;Persist Security Info=False";
	m_bstrFileDSN = _T(sz);

	// 創(chuàng)建ADO連接對(duì)象
	if( FAILED(::CoInitialize(NULL)) ) 
	{
	    AfxMessageBox("ADO Init failed");
		return FALSE;
	}
	try
	{
		m_ADOConn.CreateInstance(__uuidof(Connection));
		m_ADOConn->ConnectionString = m_bstrFileDSN;	
		m_ADOConn->Open(m_bstrFileDSN,"","", adConnectUnspecified);
	}
	// 捕捉例外
	catch(_com_error &e)
	{
		CString err;
		err.Format("%s", (char*)(e.Description()) );
		AfxMessageBox(err);
		return FALSE;
	}
	catch(...)
	{
		AfxMessageBox("Unknown Error...");
		return FALSE;
	}
	
	// 初始化ADO記錄集
	m_pADOSet.CreateInstance(__uuidof(Recordset));	
	InitDateFromDB();
	return TRUE;
}

BOOL CConfigInfo::ExitInstance()
{
	//釋放ADO連接對(duì)象 
	if( adStateOpen == m_ADOConn->State )	m_ADOConn->Close();
	m_ADOConn.Release();
    
	// 釋放ADO記錄集
	if(adStateOpen==m_pADOSet->State)	m_pADOSet->Close();
	m_pADOSet.Release();

	return TRUE;
}

/*CSampleData::CSampleData()
{
	m_nCount = 0;
	m_nCache1 = 0;
	m_nCache2 = 0;
	memset(m_nTime, 0, POINT_PER_DAY * sizeof(int));	//保存記錄對(duì)應(yīng)時(shí)間點(diǎn)(分鐘序號(hào)以及有效庫存項(xiàng)目數(shù))
	for(int i = 0; i < MAX_CHANNEL1_NUM + MAX_CHANNEL2_NUM; i++)
		memset(m_fData[i], 0, POINT_PER_DAY * sizeof(float));	//每分鐘采集一個(gè)點(diǎn)
	for(i = 0; i < MAX_CHANNEL1_NUM; i++)
		memset(m_fCache1[i], 0, MAX_SAMPLE_CACHE1 * sizeof(float));	
	
	for(i = 0; i < MAX_CHANNEL2_NUM; i++)
		memset(m_fCache2[i], 0, MAX_SAMPLE_CACHE2 * sizeof(float));	
	
}
CSampleData::~CSampleData()
{
}

BOOL CSampleData::GetCurData1(float* fData)
{
	if(m_nCache1 == 0)
	{
		if(m_nCount == 0)
		{
			memset(fData, 0, MAX_CHANNEL1_NUM * sizeof(float)); 
			return FALSE;
		}else{
			for(int i = 0; i < MAX_CHANNEL1_NUM; i++)
				fData[i] = m_fData[i][m_nCount - 1];
			return TRUE;
		}		
	}
	for(int i = 0; i < MAX_CHANNEL1_NUM; i++)
		fData[i] = m_fCache1[i][m_nCache1 - 1];
	return TRUE;
}

BOOL CSampleData::GetCurData2(float* fData)
{
	if(m_nCache2 == 0)
	{
		if(m_nCount == 0)
		{
			memset(fData, 0, MAX_CHANNEL2_NUM * sizeof(float)); 
			return FALSE;
		}else{
			for(int i = 0; i < MAX_CHANNEL2_NUM; i++)
				fData[i] = m_fData[MAX_CHANNEL1_NUM + i][m_nCount - 1];
			return TRUE;
		}		
	}
	for(int i = 0; i < MAX_CHANNEL2_NUM; i++)
		fData[i] = m_fCache2[i][m_nCache2 - 1];
	return TRUE;
}

int	CSampleData::UpdateSample(int nMinPerDay)
{
	if((m_nCache1 == 0) ||(m_nCache2 == 0))
		return 0;
	m_nTime[m_nCount] = nMinPerDay;
	for(int i = 0; i < MAX_CHANNEL1_NUM; i++)
	{
		m_fData[i][m_nCount] = 0;
		for(int j = 0; j < m_nCache1; j++)
			m_fData[i][m_nCount] = m_fData[i][m_nCount] + m_fCache1[i][j];
		m_fData[i][m_nCount] = m_fData[i][m_nCount] / m_nCache1;
	}
	for(i = 0; i < MAX_CHANNEL2_NUM; i++)
	{
		m_fData[MAX_CHANNEL1_NUM + i][m_nCount] = 0;
		for(int j = 0; j < m_nCache2; j++)
			m_fData[MAX_CHANNEL1_NUM + i][m_nCount] = m_fData[MAX_CHANNEL1_NUM + i][m_nCount] + m_fCache2[i][j];
		m_fData[MAX_CHANNEL1_NUM + i][m_nCount] = m_fData[MAX_CHANNEL1_NUM + i][m_nCount] / m_nCache2;
	}
	m_nCount++;
	return m_nCount;
}

void	CSampleData::ClearCache(int nType)
{
	if(nType == 1)
		m_nCache1 = 0;
	if(nType == 2)
		m_nCache2 = 0;
}

void CSampleData::NewData1Coming(float* fNewData, CChannelInfo* pChanConfig)
{
	for(int i = 0; i < MAX_CHANNEL1_NUM; i++)
		m_bOverWarn[i] = pChanConfig->SjToLl(i + 1, fNewData[i], m_fCache1[i][m_nCache1]);

	m_nCache1++;
	if(m_nCache1 >= MAX_SAMPLE_CACHE1)
		m_nCache1 = 0;
	return;
}

void CSampleData::NewData2Coming(float* fNewData, CChannelInfo* pChanConfig)
{
	for(int i = 0; i < MAX_CHANNEL2_NUM; i++)
		m_bOverWarn[i + MAX_CHANNEL1_NUM] = pChanConfig->SjToLl(i + 1 + MAX_CHANNEL1_NUM, fNewData[i], m_fCache2[i + MAX_CHANNEL1_NUM][m_nCache2]);
		//m_fCache2[i + MAX_CHANNEL1_NUM][m_nCache2] = fNewData[i];

	m_nCache2++;
	if(m_nCache2 >= MAX_SAMPLE_CACHE2)
		m_nCache2 = 0;
	return;
}
BOOL CSampleData::LoadFrom10SecDB()
{
	return TRUE;
}

BOOL CSampleData::SaveTo10SecDB()
{
	return TRUE;
}

BOOL CSampleData::LoadFromMinDB()
{
	return TRUE;
}

BOOL CSampleData::SaveToMinDB()
{
	return TRUE;
}

BOOL CSampleData::LoadFrom5MinDB()
{
	return TRUE;
}
BOOL CSampleData::SaveTo5MinDB()
{
	return TRUE;
}
BOOL CSampleData::LoadFrom15MinDB()
{
	return TRUE;
}
BOOL CSampleData::SaveTo15MinDB()
{
	return TRUE;
}

BOOL CSampleData::LoadFromDayDB()
{
	return TRUE;
}
BOOL CSampleData::SaveToDayDB()
{
	return TRUE;
}*/

BOOL CConfigInfo::InitDateFromDB()
{
/*	_RecordsetPtr pRst = NULL;
	try
	{
		CString strsql;
		_bstr_t strSQL;
		
		pRst.CreateInstance(__uuidof(Recordset));
		IADORecordBindingPtr   picRs(pRst);
		
		//DBPlace
		strsql.Format("SELECT * FROM ComDevice");	
		strSQL = strsql;

		CDBDevice rs;
		ADOExec(pRst, _variant_t(strSQL));
		TESTHR(picRs->BindToRecordset(&rs));
		
		int i;
		//adam4117
		m_Adam4117.m_nID = rs.m_nID;
		m_Adam4117.m_nBt = rs.m_nBt;
		m_Adam4117.m_sCom.Format("%s", rs.m_sCom);
		m_Adam4117.m_nMaxSec = rs.m_nMaxSec;
		for(i = 0; i < 10; i++)
			m_Adam4117.m_sCommand[i].Format("%s", rs.m_sCommand[i]); 
		pRst->MoveNext();
		
		//CCD
		m_CCD.m_nID = rs.m_nID;
		m_CCD.m_nBt = rs.m_nBt;
		m_CCD.m_sCom.Format("%s", rs.m_sCom);
		m_CCD.m_nMaxSec = rs.m_nMaxSec;
		for(i = 0; i < 10; i++)
			m_CCD.m_sCommand[i].Format("%s", rs.m_sCommand[i]); 
		pRst->MoveNext();

		//CMotor
		m_Motor.m_nID = rs.m_nID;
		m_Motor.m_nBt = rs.m_nBt;
		m_Motor.m_sCom.Format("%s", rs.m_sCom);
		m_Motor.m_nMaxSec = rs.m_nMaxSec;
		for(i = 0; i < 10; i++)
			m_Motor.m_sCommand[i].Format("%s", rs.m_sCommand[i]); 
		pRst->MoveNext();

		//CGprs
		m_Gprs.m_nID = rs.m_nID;
		m_Gprs.m_nBt = rs.m_nBt;
		m_Gprs.m_sCom.Format("%s", rs.m_sCom);
		m_Gprs.m_nMaxSec = rs.m_nMaxSec;
		for(i = 0; i < 10; i++)
			m_Gprs.m_sCommand[i].Format("%s", rs.m_sCommand[i]); 
		
		pRst->Close();
		return TRUE;
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.ErrorMessage());
		PrintComError(e);
		return FALSE;
    } */
	return FALSE;
}

void CConfigInfo::SaveEventLogToDB(CString sTime, CString sEvent)
{
	//sunset interface: 將m_Var[]中數(shù)據(jù)保存至數(shù)據(jù)庫中
/*	CString sUser, sTable;
	sTable.Format("%sEventLog", m_dtToday.Format("%Y%m%d"));
	CheckToSureTableExist(sTable, "TemplateLog");
	sUser = m_User.m_sUserName;
	CString sql;
	sql.Format("INSERT INTO "+sTable+" (sTime, sEvent, sUser)\
	values ('"+sTime+"', '"+sEvent+"', '"+sUser+"') ");
	ExecSQL(sql);*/
}

void CConfigInfo::SaveWarnLogToDB(CString sTime, CString sWarn)
{
	//sunset interface: 將m_Var[]中數(shù)據(jù)保存至數(shù)據(jù)庫中
/*	CString sUser, sTable;
	sUser = m_User.m_sUserName;//_T("默認(rèn)");
	sTable.Format("%sWarnLog", m_dtToday.Format("%Y%m%d"));
	CheckToSureTableExist(sTable, "TemplateLog");
	CString sql;
	sql.Format("INSERT INTO "+sTable+" (sTime, sWarn, sUser)\
	values ('"+sTime+"', '"+sWarn+"', '"+sUser+"') ");
	ExecSQL(sql);*/
}

void CConfigInfo::SaveSampleDataToDB()
{
//sunset interface: 將m_Var[]中數(shù)據(jù)保存至數(shù)據(jù)庫中
/*	CString sTime, sVal[24];
	CTime dt = CTime::GetCurrentTime();
	sTime = dt.Format("%H:%M:%S");
	for(int i = 0; i < 24; i++)
	{
		if((m_Var[i].nType == 1) ||
			(m_Var[i].nType == 2))
			sVal[i].Format(_T("%.2f"), m_Var[i].fVal);
		if((m_Var[i].nType == 3) ||
			(m_Var[i].nType == 4)){
			if(m_Var[i].bVal)
				sVal[i] = _T("1");
			else
				sVal[i] = _T("0");
		}
	}

	CString sql;
	sql.Format("INSERT INTO SampleData(sTime, Var01, Var02, Var03, Var04,\
	Var05, Var06, Var07, Var08, Var09, Var10, Var11, Var12, Var13, Var14, Var15,\
	Var16, Var17, Var18, Var19, Var20, Var21, Var22, Var23, Var24)\
	values ('"+sTime+"', '"+sVal[0]+"', '"+sVal[1]+"', '"+sVal[2]+"','"+sVal[3]+"','"+sVal[4]\
	+"','"+sVal[5]+"','"+sVal[6]+"','"+sVal[7]+"','"+sVal[8]+"','"+sVal[9]+"','"+sVal[10]+"','"+sVal[11]\
	+"','"+sVal[12]+"','"+sVal[13]+"','"+sVal[14]+"','"+sVal[15]+"','"+sVal[16]+"','"+sVal[17]\
	+"','"+sVal[18]+"','"+sVal[19]+"','"+sVal[20]+"','"+sVal[21]+"','"+sVal[22]+"','"+sVal[23]+"') ");
	ExecSQL(sql);
*/
}

BOOL CConfigInfo::CheckToSureTableExist(CString sTable, CString sTemplate)
{
	if(!CheckIfTableExist(sTable))
	{
	 	return CreateNewTable(sTable, sTemplate);
	}
	
	return TRUE;
}
BOOL CConfigInfo::CreateNewTable(CString sTable, CString sTemplate)
{
	CString strSQL;
	strSQL.Format("select * into %s from %s where 1<>1", sTable, sTemplate); 

	_RecordsetPtr pRst = NULL;
	TESTHR(pRst.CreateInstance(__uuidof(Recordset)));
	if(!ADOExec(pRst, _variant_t(strSQL)))
		return FALSE;
	return TRUE;
}

BOOL CConfigInfo::CheckIfTableExist(CString sTable)
{
	HRESULT     hr   =   S_OK;   
    IADORecordBinding       *picRs   =   NULL;   
    _RecordsetPtr   pRstSchema("ADODB.Recordset");   

	CString   strTableType, strTableName, strFlag;   
    try{
		pRstSchema->QueryInterface(__uuidof(IADORecordBinding), (LPVOID*)&picRs);   
		pRstSchema=m_ADOConn->OpenSchema(adSchemaTables);//枚舉表的名稱處理   
		int i = 0;
		while(!(pRstSchema->adoEOF)){   
			
			_bstr_t   table_name   =   pRstSchema->Fields->GetItem("TABLE_NAME")->Value;//獲取表的名稱   
			_bstr_t   table_type   =   pRstSchema->Fields->GetItem("TABLE_TYPE")->Value;//獲取表的類型   
			strTableType.Format("%s",(LPCSTR)   table_type);
			if(!lstrcmp(strTableType,_T("TABLE")))   
			{   
				//m_cbTeam.AddString((LPCSTR)table_name);//添加表的名稱   
				strTableName.Format("%s",(LPCSTR)table_name);
				if(!strTableName.CompareNoCase(sTable))   
				{
					pRstSchema->Close();  
					return TRUE;
				}
			}   
			pRstSchema->MoveNext();   
		}   
		//   Clean   up   objects   before   exit.   
		pRstSchema->Close();   
    }   
    catch(_com_error &e)
	{
		CString err;
		err.Format("%s", (char*)(e.Description()) );
		AfxMessageBox(err);
		return FALSE;
	}
	return FALSE;
}
int CConfigInfo::StringToInt(CString s)
{
	int nReturn = 0;
	char cc[10];
	wsprintf(cc, "%s", s);
	nReturn = atoi(cc);
	return nReturn;
}
float CConfigInfo::StringToFloat(CString s)
{
	float fReturn = 0;
	char cc[10];
	wsprintf(cc, "%s", s);
	fReturn = (float)atof(cc);
	return fReturn;
}
/*zhou added 2008 1-17*/
BOOL CConfigInfo::GetDataFromTenSec(CString str,CDBTenSec* pp,int nCurRecNum)// &temprs)
{
    _RecordsetPtr pRst = NULL;
	int num = nCurRecNum;
	try
	{
//		CString strsql;
		_bstr_t strSQL;
		
		pRst.CreateInstance(__uuidof(Recordset));
		IADORecordBindingPtr   picRs(pRst);
		
		//DBPlace
//		strsql.Format("SELECT * FROM TenSec");	
//		strSQL = strsql;
		strSQL = str;

		CDBTenSec rs;
		ADOExec(pRst, _variant_t(strSQL));
		TESTHR(picRs->BindToRecordset(&rs));
		
//		int bb=rs.m_nTenS_nID;
		//		CDBTenSec temprs;
		//CDBTenSec* pp = new ;
//		pRst->MoveFirst();
//		pRst->MovePrevious();
		int i=0;
		while(!pRst->adoEOF)
		{
			if(i<nCurRecNum)
			{
				memcpy((void*)(pp+i),&rs,sizeof(CDBTenSec));
				int tt=(pp+i)->m_nTenS_nID;
				pRst->MoveNext();
				i++;
			}
			else
				break;
		}
//		pRst->Release();	
		pRst->Close();
		return TRUE;
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.ErrorMessage());
		PrintComError(e);
		return FALSE;
    }
}

int CConfigInfo::GetRecordCount(CString strsql)
{
   _RecordsetPtr pRst = NULL;
   int num=0;
	try
	{

		_bstr_t strSQL;
		
		pRst.CreateInstance(__uuidof(Recordset));
		IADORecordBindingPtr   picRs(pRst);
		
		strSQL = strsql;

		CDBCount rs;
		ADOExec(pRst, _variant_t(strSQL));
		TESTHR(picRs->BindToRecordset(&rs));
		
//		CDBTenSec temprs;
		//CDBTenSec* pp = new ;

		while(!pRst->adoEOF)
		{
		

			num=rs.m_nCount;
			pRst->MoveNext();
		
		}
	
		pRst->Close();
		return num;
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.ErrorMessage());
		PrintComError(e);
		return num;
    }
}

BOOL CConfigInfo::AddDataToTenSec(CString str, CDBTenSec *pp)
{
  _RecordsetPtr pRst = NULL;

	try
	{
		CString strsql;
		_bstr_t strSQL;
		
		pRst.CreateInstance(__uuidof(Recordset));
		IADORecordBindingPtr   picRs(pRst);
		
		//DBPlace
		strsql.Format("SELECT * FROM TenSec");	
		strSQL = strsql;
//		strSQL = str;

		CDBTenSec rs;
		ADOExec(pRst, _variant_t(strSQL));
        pRst->MoveLast();
		TESTHR(picRs->BindToRecordset(&rs));
		rs.m_nIndex=100;  
		pRst-> AddNew(); 

		pRst->Update(); 
//		rs.m_nIndex = 123;
 //     TESTHR(picRs->AddNew(&rs));



/*		int i=0;
		while(!pRst->adoEOF)
		{
			memcpy((void*)(pp+i),&rs,sizeof(CDBTenSec));
			int tt=(pp+i)->m_nTenS_nID;
			pRst->MoveNext();
			i++;
		}*/
	
		pRst->Close();
		return TRUE;
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.ErrorMessage());
		PrintComError(e);
		return FALSE;
    }
}

void CConfigInfo::SelectListItem(bool *State)
{
  for(int i=0;i<27;i++)
  {
	  State[i]=m_bItemState[i];
  }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va欧美va国产va天堂影院| 美女mm1313爽爽久久久蜜臀| 日韩欧美一区二区免费| 国产·精品毛片| 青草国产精品久久久久久| 亚洲精品欧美综合四区| 国产性色一区二区| 欧美刺激脚交jootjob| 欧美午夜电影网| 91麻豆免费看片| 国产成人a级片| 欧美aaa在线| 午夜精品久久久久久久久久久| 国产精品伦理一区二区| 久久美女高清视频| 欧美成人女星排名| 欧美一区二区三区在线观看| 色婷婷综合久久久久中文一区二区| 国产精品亚洲午夜一区二区三区| 日本免费在线视频不卡一不卡二| 亚洲综合一区二区| 亚洲日本在线a| 中文字幕精品一区| 国产欧美一区二区精品性色 | 成人高清在线视频| 久久精品国产秦先生| 天天色综合天天| 亚洲综合成人在线| 亚洲亚洲人成综合网络| 亚洲激情成人在线| 一区二区三区资源| 亚洲男人的天堂网| 一区二区三区在线高清| 一区二区三区四区五区视频在线观看 | 欧美久久久一区| 欧美日韩成人高清| 欧美一区二区三区影视| 91精品国产综合久久精品性色| 欧美日韩国产一区| 51久久夜色精品国产麻豆| 欧美日韩成人综合天天影院| 欧美老人xxxx18| 欧美一激情一区二区三区| 欧美一区二区大片| 日韩免费观看高清完整版在线观看| 日韩一区二区三区电影在线观看| 91麻豆精品国产91久久久资源速度 | 精品国产一区二区三区久久影院 | 欧美日韩一卡二卡三卡| 欧美日韩精品专区| 欧美一区二区视频免费观看| 日韩一区二区麻豆国产| 久久亚洲私人国产精品va媚药| 久久久精品综合| 中文字幕亚洲不卡| 亚洲一区二区3| 日本女优在线视频一区二区| 久久99精品视频| 国产黑丝在线一区二区三区| 成人激情电影免费在线观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产欧美日韩另类一区| 亚洲欧洲成人自拍| 亚洲图片一区二区| 久久 天天综合| 成人免费视频国产在线观看| 色狠狠色狠狠综合| 5566中文字幕一区二区电影| 精品久久久久99| 国产精品不卡视频| 日本 国产 欧美色综合| 国产成人免费视频网站| 91福利视频在线| 久久亚洲欧美国产精品乐播| 亚洲男人的天堂av| 激情欧美一区二区| 91麻豆高清视频| 日韩免费福利电影在线观看| 成人免费一区二区三区在线观看| 午夜精品久久久久久久 | 国产福利精品一区二区| 日本电影欧美片| 欧美精品一区二区三区一线天视频| 亚洲欧美在线视频观看| 麻豆极品一区二区三区| 91免费版pro下载短视频| 日韩欧美国产一区二区在线播放| 国产精品电影一区二区三区| 日韩精品免费视频人成| 91在线你懂得| 久久人人爽人人爽| 午夜欧美一区二区三区在线播放| 国产成人亚洲综合a∨猫咪| 欧美欧美欧美欧美| 国产精品你懂的在线欣赏| 日本欧洲一区二区| 在线看国产一区二区| 国产亚洲美州欧州综合国| 午夜精品视频在线观看| 97se亚洲国产综合自在线不卡| 精品电影一区二区| 午夜精品影院在线观看| 一本大道久久a久久精二百| 久久奇米777| 麻豆一区二区三区| 欧美日韩五月天| 亚洲色图一区二区三区| 国产精品自拍av| 欧美va日韩va| 日韩电影网1区2区| 欧美三级视频在线| 亚洲精品一二三区| jlzzjlzz欧美大全| 国产欧美一区二区精品秋霞影院 | 色婷婷亚洲一区二区三区| 国产人久久人人人人爽| 精品亚洲国产成人av制服丝袜 | 色吊一区二区三区| 国产精品福利一区二区三区| 国产一区二区三区久久久| 欧美一级久久久| 免费视频最近日韩| 日韩一二三区视频| 热久久一区二区| 欧美成人一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 欧美一卡2卡三卡4卡5免费| 亚洲高清免费视频| 欧美性生活久久| 亚洲小说春色综合另类电影| 在线观看一区二区精品视频| 一卡二卡三卡日韩欧美| 欧美在线观看一区二区| 亚洲自拍欧美精品| 欧美日韩国产首页| 免费看精品久久片| 欧美不卡视频一区| 国产一区二区三区四区五区入口 | youjizz久久| 中文字幕中文字幕在线一区 | 91色|porny| 亚洲制服丝袜一区| 欧美精品xxxxbbbb| 奇米在线7777在线精品| 精品国产一区二区三区四区四| 麻豆精品一区二区av白丝在线| 精品国产3级a| av成人免费在线| 亚洲一区在线电影| 日韩一区二区三区四区| 国产一区二区伦理| 中文字幕一区不卡| 欧美日韩一本到| 精品一区二区三区免费观看| 国产日韩欧美电影| 在线日韩一区二区| 日韩高清不卡一区| 久久九九久久九九| 色哟哟在线观看一区二区三区| 亚洲成a人在线观看| 日韩免费在线观看| 99久精品国产| 同产精品九九九| 久久久久久久久伊人| 色综合中文综合网| 成人免费黄色在线| 亚洲电影一区二区| 2021中文字幕一区亚洲| 99久久精品国产精品久久| 亚洲一卡二卡三卡四卡 | 亚洲一区二区在线免费看| 日韩一区二区三区四区| av一二三不卡影片| 日韩精品成人一区二区在线| 国产女人18水真多18精品一级做| 色系网站成人免费| 国精产品一区一区三区mba桃花 | 亚洲欧美精品午睡沙发| 日韩午夜三级在线| 色哟哟一区二区在线观看| 美国欧美日韩国产在线播放| 中文字幕亚洲综合久久菠萝蜜| 56国语精品自产拍在线观看| 成人精品视频一区二区三区| 亚欧色一区w666天堂| 日本一区二区三区电影| 欧美日韩综合一区| av中文字幕不卡| 久久激情综合网| 亚洲小说欧美激情另类| 国产欧美日产一区| 欧美va亚洲va| 欧美日韩一卡二卡三卡| av成人免费在线| 国产伦精品一区二区三区免费| 成人avav影音| 久久精品国产一区二区| 亚洲成人在线观看视频| 亚洲色欲色欲www| 国产欧美日韩视频一区二区 |