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

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

?? accesstestdlg.cpp

?? 通過ODBC訪問Access數據庫的操作
?? CPP
字號:
// AccessTestDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AccessTest.h"
#include "AccessTestDlg.h"

#include "mdbfield.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAccessTestDlg dialog

CAccessTestDlg::CAccessTestDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAccessTestDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAccessTestDlg)
	m_UserName = _T("");
	m_PassWord = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CAccessTestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAccessTestDlg)
	DDX_Control(pDX, IDC_COMBOUSERTYPE, m_usertypectrl);
	DDX_Control(pDX, IDC_LIST1, m_List1);
	DDX_Text(pDX, IDC_USERNAME, m_UserName);
	DDX_Text(pDX, IDC_PASSWORD, m_PassWord);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAccessTestDlg, CDialog)
	//{{AFX_MSG_MAP(CAccessTestDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BTNADD, OnBtnadd)
	ON_BN_CLICKED(IDC_BTNMODIFI, OnBtnmodifi)
	ON_BN_CLICKED(IDC_BTNDELETE, OnBtndelete)
	ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemchangedList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAccessTestDlg message handlers

BOOL CAccessTestDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	//int i;

	m_ImageList.Create(IDB_CLASS_VIEW, 32, 1, RGB(255, 255, 255));
	m_List1.SetImageList(&m_ImageList,TVSIL_NORMAL);

	//InitDatabase();
	//GetAllRecord();
	try
	{
		CString  sDSN="ODBC;DRIVER=Microsoft Access Driver (*.mdb);DSN='';UID=admin;PWD=wangqien;DBQ=NetDvr.mdb";
		m_database=new CDatabase;
		if(!m_database->Open(NULL,FALSE,FALSE,sDSN,FALSE))
		{
			AfxMessageBox("ODBC Connection Faile!");
			CDialog::EndDialog(0);
			GetParent()->PostMessage(WM_CLOSE);
			return FALSE;
		}
	
        CString strSQL="select * from user";
		m_pSet=new CMyRecordset(m_database);
		m_pSet->Open(CRecordset::dynaset,strSQL);
	}
	catch(CDBException* pEx)
	{
		pEx->ReportError();
	}

	GetUserRecord();

	/*m_pSet->MoveFirst();
	((CEdit *)GetDlgItem(IDC_USERNAME))->SetWindowText(m_pSet->m_username);
	m_username=m_pSet->m_username;
	((CEdit *)GetDlgItem(IDC_PASSWORD))->SetWindowText(m_pSet->m_password);
	m_password=m_pSet->m_password;
	i=atoi(m_pSet->m_usertype);*/
	m_usertypectrl.SetCurSel(0);

	//m_List1.SetItemState(0,0);
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CAccessTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CAccessTestDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CAccessTestDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CAccessTestDlg::InitDatabase()
{
	//////////////////////////////ACCESS///////////////////////////////////       
    char* szDesc;	
    TCHAR Temppath[MAX_PATH];
    CString tem ;
    ::GetCurrentDirectory(MAX_PATH,Temppath);
    tem  =Temppath;
    tem =tem +_T("\\NetDvr.mdb");

	szDesc=new char[256];
    sprintf(szDesc,"DSN=%s;DBQ=%s  ","usermanageDB",tem);
 		 
    if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))
	{
	    AfxMessageBox("創建DSN時,出現錯誤!");
	    return ;
	}
	////////////////////////對ACCESS操作/////////////////////////////////////////////////////////
    CDatabase database;
    CString sSql;
    //創建
    TRY
	{
		// 創建進行存取的字符串	
		sSql.Format("DSN=%s;;","usermanageDB"  );
		// 創建數據庫 (既Excel表格文件)
		database.OpenEx(sSql,CDatabase::noOdbcDialog) ; 
	}
    CATCH(CDBException, e)
	{
        // The error code is in e->m_nRetCode
	}
    END_CATCH

    CString tableName;
    tableName="user";
 
    TRY
	{
	    //創建表結構 		
        sSql.Format( "CREATE TABLE %s (序號 TEXT,用戶名 TEXT,密碼 TEXT,權限 TEXT)",tableName);
        database.ExecuteSQL(sSql);
	}
    CATCH(CDBException, e)
	{
        // The error code is in e->m_nRetCode
	}
    END_CATCH
 
    if (database.IsOpen ())
	  database.Close();
}

void CAccessTestDlg::GetAllRecord()
{
    //CurPos=-1;
    CDatabase database;
    CString sSql;
    //創建
    TRY
	{
        //創建進行存取的字符串	
		//sSql.Format("DSN=%s","systemDB" );
	    sSql.Format("DSN=%s;; ","usermanageDB"   );
        //創建數據庫 (既Excel表格文件)
        database.OpenEx(sSql,CDatabase::noOdbcDialog) ;
	}
    CATCH(CDBException, e)
	{
        // The error code is in e->m_nRetCode
	}
    END_CATCH

    CRecordset recordset;
    recordset.m_pDatabase =&database;
  
    CString tableName;
    tableName="user" ;
    //BOOL  m_bNotExist=TRUE;
    TRY
	{
	    //創建表結構 員工名 ,密碼
	    recordset.m_strFilter =""; 
	    sSql.Format ("select * from %s  ",tableName   );
        recordset.Open(CRecordset::dynaset,sSql); 
	    if (recordset.IsBOF()&&recordset.IsEOF())
		{
		}
	    else
		{   	 
			recordset.MoveFirst ();
			CDBVariant  varValue[3];
			m_List1.DeleteAllItems();
			m_CurItemCount=0;
			//char buf[30];
			while  (!recordset.IsEOF ())
			{
				/*int  i_static=0; 
				recordset.GetFieldValue(i_static,varValue[0]);
				vmsuser.UserID=(int)varValue[0].m_dblVal;*/
				
				recordset.GetFieldValue(1,varValue[1]);
				strcpy(vmsuser.UserName, *varValue[1].m_pstring);
				m_List1.InsertItem(m_CurItemCount,*varValue[1].m_pstring,1);

				/*recordset.GetFieldValue(2,varValue[2]);
				strcpy(vmsuser.Password, *varValue[2].m_pstring);

				recordset.GetFieldValue(3,varValue[3]);
				strcpy(vmsuser.UserType, *varValue[3].m_pstring);*/
				
				//recordset.GetFieldValue(1,varValue[1]);
				//m_List1.SetItemText(m_CurItemCount,1,*varValue[1].m_pstring);
			 
				//recordset.GetFieldValue(2,varValue[2]);
				//sprintf(buf,"%d",(int)varValue[2].m_dblVal);
				//m_List1.SetItemText(m_CurItemCount,2,buf);
				m_CurItemCount++;
			 
   				recordset.MoveNext();
			}
		}
	}
    CATCH(CDBException, e)
	{
        // The error code is in e->m_nRetCode  
	}
    END_CATCH
    if (recordset.IsOpen ())
       recordset.Close ();
  
    if (database.IsOpen ())
	   database.Close();
}

void CAccessTestDlg::GetUserRecord()
{
	CString temp;
	char *buf;
	int j=0;

	m_List1.DeleteAllItems();
	m_pSet->MoveFirst();
	while( !m_pSet->IsEOF() )
	{
		for(int i=0;i<MAX_LEN;i++)
		{
			m_pSet->GetFieldValue(dbFields[i].name,temp);
			buf=temp.GetBuffer(temp.GetLength());
			strcpy(dbFields[i].m_name,buf);
		}
		m_List1.InsertItem(j,(LPCTSTR)dbFields[1].m_name,1);
		j++;
		m_pSet->MoveNext();
	}
}

BOOL CAccessTestDlg::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	if(m_pSet!=NULL)
	{ 
		m_pSet->Close();
		m_database->Close();
		delete m_pSet;
		delete m_database;
	}	
	return CDialog::DestroyWindow();
}

void CAccessTestDlg::OnBtnadd() 
{
	// TODO: Add your control notification handler code here
	int i;

	if(!UpdateData(TRUE))
		return;
	if(m_UserName.IsEmpty())
	{ 
		MessageBox("用戶名不能為空!","警告",MB_ICONINFORMATION);
		   return;
	}
	i=FindRecorde(m_UserName);
	if (i!=0)
	{
		MessageBox("該用戶已經在數據庫中存在!","警告",MB_ICONINFORMATION);
	    return;
	}
	i = m_List1.GetItemCount();
	//i=m_pSet->GetRecordCount();
	m_List1.InsertItem(i,m_UserName,1);

	m_pSet->AddNew();  	
	SetValue(true);
	m_pSet->Update();
	m_pSet->Requery();
	m_pSet->MoveLast();
	//m_pSet->MoveFirst();

	((CEdit *)GetDlgItem(IDC_USERNAME))->SetWindowText(m_pSet->m_username);
	m_UserName=m_pSet->m_username;
	((CEdit *)GetDlgItem(IDC_PASSWORD))->SetWindowText(m_pSet->m_password);
	m_PassWord=m_pSet->m_password;
	i=atoi(m_pSet->m_usertype);
	m_usertypectrl.SetCurSel(i);

	MessageBox("添加成功!","警告",MB_ICONINFORMATION);
}

void CAccessTestDlg::OnBtnmodifi() 
{
	// TODO: Add your control notification handler code here
	int i;
	POSITION pos;

	pos = m_List1.GetFirstSelectedItemPosition();
	if (pos)
	{
	if(!UpdateData(TRUE))
		return;
	if(m_UserName.IsEmpty())
		return;
	if(stricmp(m_UserName, "admin") == 0)
	{
		MessageBox("系統管理員不能修改!","警告",MB_ICONINFORMATION);
		return;
	}
	//i=FindRecorde(m_UserName);
	//if (i==0)
	   //return;

	m_pSet->Edit();
	SetValue(false);
	m_pSet->Update();
	m_pSet->Requery();
	UpdateData(TRUE);
	GetUserRecord();

	((CEdit *)GetDlgItem(IDC_USERNAME))->SetWindowText(m_pSet->m_username);
	m_UserName=m_pSet->m_username;
	((CEdit *)GetDlgItem(IDC_PASSWORD))->SetWindowText(m_pSet->m_password);
	m_PassWord=m_pSet->m_password;
	i=atoi(m_pSet->m_usertype);
	m_usertypectrl.SetCurSel(i);

	MessageBox("修改成功!","警告",MB_ICONINFORMATION);
	}
}

void CAccessTestDlg::OnBtndelete() 
{
	// TODO: Add your control notification handler code here
	int i;
	POSITION pos;

	pos = m_List1.GetFirstSelectedItemPosition();
	if (pos)
	{
	if(!UpdateData(TRUE))
		return;
	if(m_UserName.IsEmpty())
		return;
	if(stricmp(m_UserName, "admin") == 0)
	{
		MessageBox("系統管理員不能刪除!","警告",MB_ICONINFORMATION);
		return;
	}
	//i=FindRecorde(m_UserName);
	//if (i==0)
	   //return;

	if(MessageBox("確定要刪除這條記錄嗎?","刪除記錄",MB_YESNO|MB_ICONINFORMATION) != IDYES)
	{
		//m_List1.DeleteItem(i);
		return;
	}
	m_pSet->Delete();
	
	ModifyRecord();
	GetUserRecord();

	((CEdit *)GetDlgItem(IDC_USERNAME))->SetWindowText(m_pSet->m_username);
	m_UserName=m_pSet->m_username;
	((CEdit *)GetDlgItem(IDC_PASSWORD))->SetWindowText(m_pSet->m_password);
	m_PassWord=m_pSet->m_password;
	i=atoi(m_pSet->m_usertype);
	m_usertypectrl.SetCurSel(i);

	MessageBox("刪除成功!","警告",MB_ICONINFORMATION);
	}
}

void CAccessTestDlg::SetValue(bool userid)
{
	int i,j;

	UpdateData(TRUE);
	if (userid)
	{
		i = m_List1.GetItemCount();
		//i=m_pSet->GetRecordCount();
		m_pSet->m_userid.Format("%d", i);
	}
	m_pSet->m_username    =   m_UserName;
	m_pSet->m_password    =   m_PassWord;
	j=m_usertypectrl.GetCurSel();
	m_pSet->m_usertype.Format("%d", j);
}

int CAccessTestDlg::FindRecorde(CString name) 
{
	CString str;
	//POSITION pos;
	//int nItem;

	//pos = m_List1.GetFirstSelectedItemPosition();
    //str=m_List1.GetItemText (int (pos-1), 0);
	//if (str!="")
	//{
		m_pSet->MoveFirst();
		while( !m_pSet->IsEOF() )
		{
			m_pSet->GetFieldValue(dbFields[1].name,str);
			if(stricmp(str, name) == 0)
			{
				//nItem = m_List1.GetNextSelectedItem(pos);
				return 1;
			}
			m_pSet->MoveNext();
		}
	//}
	return 0;
}

void CAccessTestDlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	CString str,temp;
	POSITION pos;
	int i;

	pos = m_List1.GetFirstSelectedItemPosition();
    str=m_List1.GetItemText (int (pos-1), 0);
	if (str!="")
	{
		m_pSet->MoveFirst();
		while( !m_pSet->IsEOF() )
		{
			m_pSet->GetFieldValue(dbFields[1].name,temp);
			if(stricmp(str, temp) == 0)
			{
				m_UserName.Format("%s", temp);
				((CEdit *)GetDlgItem(IDC_USERNAME))->SetWindowText(str);
				//m_username=temp;
				
				m_pSet->GetFieldValue(dbFields[2].name,temp);
				m_PassWord.Format("%s", temp);
				((CEdit *)GetDlgItem(IDC_PASSWORD))->SetWindowText(temp);
				//m_password=temp;

				m_pSet->GetFieldValue(dbFields[3].name,temp);
				i=atoi(temp);
				m_usertypectrl.SetCurSel(i);

				break;
			}
			m_pSet->MoveNext();
		}
	}

	*pResult = 0;
}

void CAccessTestDlg::ModifyRecord()
{
	CString temp;
	int j=0;

	m_pSet->MoveFirst();
	while( !m_pSet->IsEOF() )
	{
		m_pSet->Edit();
		m_pSet->m_userid.Format("%d", j);
		m_pSet->Update();
		//m_pSet->Requery();
		UpdateData(TRUE);
		j++;
		m_pSet->MoveNext();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本三级亚洲精品| 亚洲国产日日夜夜| 欧美一二区视频| 色综合天天天天做夜夜夜夜做| 日韩精品午夜视频| 亚洲一区二区黄色| 亚洲色图20p| 国产精品日日摸夜夜摸av| 91日韩精品一区| 成人小视频免费观看| 久久成人麻豆午夜电影| 美女在线观看视频一区二区| 亚洲国产毛片aaaaa无费看| 亚洲欧美日韩国产一区二区三区| 国产午夜精品久久久久久免费视| 欧美日本国产视频| 欧美电影在哪看比较好| 精品视频一区二区不卡| 欧美日韩三级一区二区| 欧美日韩在线播| 欧美在线播放高清精品| 欧美午夜电影在线播放| 色综合天天在线| 欧美视频你懂的| 正在播放亚洲一区| 欧美一级日韩不卡播放免费| 91精品免费在线观看| 3d成人动漫网站| 欧美一区二区三区的| 精品三级av在线| 国产欧美综合在线观看第十页 | 精品99一区二区| 国产午夜精品在线观看| 亚洲国产精品国自产拍av| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品久99| 亚洲国产另类精品专区| 老司机午夜精品99久久| 福利一区在线观看| 99久久精品免费看| 欧美日韩国产美女| 精品国产一二三区| 国产日韩欧美a| 亚洲欧美另类久久久精品2019| 午夜亚洲国产au精品一区二区| 亚洲综合色成人| 国产在线视频一区二区三区| 99精品欧美一区二区蜜桃免费 | 欧洲色大大久久| 91精品国产综合久久久久| 久久九九影视网| 亚洲成a人在线观看| 国产在线看一区| 97久久超碰国产精品| 日韩美女一区二区三区| 中文字幕一区二区视频| 丝袜亚洲另类欧美| 99re热视频这里只精品| 国产欧美一区二区精品久导航| 青青草国产精品97视觉盛宴| 色婷婷av一区二区三区大白胸| 中文字幕欧美日韩一区| 国产综合色产在线精品| 欧美一区二区日韩| 视频一区视频二区在线观看| 欧美三级三级三级爽爽爽| 日韩伦理av电影| jizzjizzjizz欧美| 日本一区二区三区免费乱视频| 免费欧美在线视频| 日韩一区二区三区电影| 日韩成人免费在线| 欧美精品久久天天躁| 图片区日韩欧美亚洲| 欧美日韩一二三区| 性做久久久久久免费观看| 欧美三电影在线| 亚洲成年人网站在线观看| 3d成人h动漫网站入口| 日日夜夜精品视频天天综合网| 欧美精品色一区二区三区| 午夜成人免费电影| 日韩女优视频免费观看| 久久狠狠亚洲综合| 久久嫩草精品久久久久| 成人精品在线视频观看| 亚洲桃色在线一区| 欧美日韩精品一区视频| 麻豆91免费看| 国产午夜精品久久| 色噜噜狠狠色综合欧洲selulu| 一区二区三区在线观看国产| 欧美日本乱大交xxxxx| 精品在线播放免费| 亚洲欧美综合另类在线卡通| 色妞www精品视频| 日韩av一二三| 国产精品色哟哟| 欧美午夜影院一区| 国产专区综合网| 一区二区三区.www| 日韩欧美中文字幕公布| 国产成人夜色高潮福利影视| 亚洲欧美日韩久久精品| 日韩一区二区免费电影| 成人性生交大片| 免费成人性网站| 亚洲色图视频网| 精品毛片乱码1区2区3区| 99久久精品免费看国产| 麻豆精品视频在线观看免费| 国产精品家庭影院| 日韩精品一区二区三区视频 | 91麻豆免费视频| 蜜桃视频一区二区三区| 亚洲欧美电影一区二区| 精品成人一区二区三区四区| 色综合久久久久久久久| 精品午夜一区二区三区在线观看 | 欧美日韩成人综合天天影院| 国产馆精品极品| 日韩专区一卡二卡| 中文字幕一区av| 精品电影一区二区三区| 欧美揉bbbbb揉bbbbb| 成人免费福利片| 国模一区二区三区白浆| 亚洲高清免费视频| 亚洲国产精品ⅴa在线观看| 91一区二区三区在线播放| 国产精品女人毛片| 91丨porny丨蝌蚪视频| 中文字幕中文字幕在线一区| 日韩精品综合一本久道在线视频| 日韩制服丝袜av| 欧美日韩一级二级| 色综合天天综合给合国产| 欧美日韩www| 亚洲精品一区在线观看| 亚洲国产成人在线| 亚洲一区二区三区影院| 蜜桃精品视频在线| 国产白丝精品91爽爽久久| 91看片淫黄大片一级| 欧美丰满美乳xxx高潮www| 久久久久久**毛片大全| 日韩伦理av电影| 日本不卡高清视频| 成人亚洲精品久久久久软件| 欧洲av一区二区嗯嗯嗯啊| 日韩欧美国产综合一区| 国产精品久久久久久一区二区三区 | 韩国女主播成人在线| 成人av片在线观看| 在线成人免费视频| 中文字幕一区二区三区在线不卡 | 日韩欧美国产高清| 亚洲欧美一区二区视频| 青草av.久久免费一区| 成人精品视频一区| 3d动漫精品啪啪1区2区免费| 17c精品麻豆一区二区免费| 日韩电影免费一区| 99精品视频在线观看| www欧美成人18+| 亚洲第一电影网| 一本大道久久a久久综合婷婷| 精品99一区二区| 午夜激情久久久| 色88888久久久久久影院按摩| 久久久夜色精品亚洲| 丝袜诱惑制服诱惑色一区在线观看| 成人在线视频一区二区| 2021中文字幕一区亚洲| 午夜精品福利一区二区三区av| 成人av网在线| 日本一区二区三区四区在线视频 | 日韩va亚洲va欧美va久久| 色婷婷综合五月| 中文字幕一区二区三区视频| 国产伦精品一区二区三区免费迷| 欧美日韩不卡在线| 亚洲激情av在线| 99精品视频在线观看| 亚洲国产高清在线| 国内国产精品久久| 欧美精品一区二区三区视频| 天天综合日日夜夜精品| 欧美日韩美女一区二区| 亚洲在线免费播放| 91免费观看国产| 中文字幕一区在线观看视频| 成人毛片老司机大片| 国产精品亲子伦对白| 成人晚上爱看视频| 中文字幕第一区二区| 大胆亚洲人体视频| 中文字幕日本不卡| 一本色道久久加勒比精品| 一区二区三区四区视频精品免费 |