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

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

?? rscgdlg.cpp

?? 用VC編寫基于ADO的數據庫程序
?? CPP
字號:
// RsCgDlg.cpp : implementation file
//

#include "stdafx.h"
#include "RsCgDlg.h"


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


/////////////////////////////////////////////////////////////////////////////
// CRsCgDlg dialog


CRsCgDlg::CRsCgDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRsCgDlg::IDD, pParent)
{
	m_strConnection = _T("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=Employees.mdb");
	m_strCmdText = _T("Employees");
	m_pRs = NULL;
	
	//{{AFX_DATA_INIT(CRsCgDlg)
	m_strDlgAddress = _T("");
	m_strDlgCity = _T("");
	m_strDlgCountry = _T("");
	m_lDlgEmployeeID = 0;
	m_strDlgFirstName = _T("");
	m_strDlgHomePhone = _T("");
	m_strDlgLastName = _T("");
	m_strDlgRegion = _T("");
	m_strDlgTitle = _T("");
	//}}AFX_DATA_INIT
}

CRsCgDlg::~CRsCgDlg()
{
	m_pRs = NULL;
}

BOOL CRsCgDlg::OnInitDialog()
{
	IADORecordBinding *piAdoRecordBinding = NULL;

	CDialog::OnInitDialog();

	try
	{
		m_pRs.CreateInstance(__uuidof(Recordset));

		m_pRs->CursorLocation = adUseServer;
		m_pRs->Open((LPCTSTR)m_strCmdText, (LPCTSTR)m_strConnection, adOpenStatic, 
			adLockOptimistic, adCmdTableDirect);

		if (FAILED(m_pRs->QueryInterface(__uuidof(IADORecordBinding), (LPVOID *)&piAdoRecordBinding)))
			_com_issue_error(E_NOINTERFACE);
		piAdoRecordBinding->BindToRecordset(this);

		RefreshBoundData();
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}

	if (piAdoRecordBinding)
		piAdoRecordBinding->Release();

	return TRUE;
}

void CRsCgDlg::RefreshBoundData()
{
	if (adFldOK == lAddressStatus)
		m_strDlgAddress = m_szAddress;
	else
		m_strDlgAddress = _T("");
	if (adFldOK == lCityStatus)
		m_strDlgCity = m_szCity;
	else
		m_strDlgCity = _T("");
	if (adFldOK == lCountryStatus)
		m_strDlgCountry = m_szCountry;
	else
		m_strDlgCountry = _T("");
	if (adFldOK == lEmployeeIDStatus)
		m_lDlgEmployeeID = m_lEmployeeID;
	else
		m_lDlgEmployeeID = 0;
	if (adFldOK == lFirstNameStatus)
		m_strDlgFirstName = m_szFirstName;
	else
		m_strDlgFirstName = _T("");
	if (adFldOK == lHomePhoneStatus)
		m_strDlgHomePhone = m_szHomePhone;
	else
		m_strDlgHomePhone = _T("");
	if (adFldOK == lLastNameStatus)
		m_strDlgLastName = m_szLastName;
	else
		m_strDlgLastName = _T("");
	if (adFldOK == lRegionStatus)
		m_strDlgRegion = m_szRegion;
	else
		m_strDlgRegion = _T("");
	if (adFldOK == lTitleStatus)
		m_strDlgTitle = m_szTitle;
	else
		m_strDlgTitle = _T("");

	UpdateData(FALSE);
}

void CRsCgDlg::GenerateError(HRESULT hr, PWSTR pwszDescription)
{
	CString strError;

	strError.Format("Run-time error '%d (%x)'", hr, hr);
	strError += "\n\n";
	strError += pwszDescription;

	AfxMessageBox(strError);
}

void CRsCgDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRsCgDlg)
	DDX_Text(pDX, IDC_EDIT_ADDRESS, m_strDlgAddress);
	DDX_Text(pDX, IDC_EDIT_CITY, m_strDlgCity);
	DDX_Text(pDX, IDC_EDIT_COUNTRY, m_strDlgCountry);
	DDX_Text(pDX, IDC_EDIT_EMPLOYEEID, m_lDlgEmployeeID);
	DDX_Text(pDX, IDC_EDIT_FIRSTNAME, m_strDlgFirstName);
	DDX_Text(pDX, IDC_EDIT_HOMEPHONE, m_strDlgHomePhone);
	DDX_Text(pDX, IDC_EDIT_LASTNAME, m_strDlgLastName);
	DDX_Text(pDX, IDC_EDIT_REGION, m_strDlgRegion);
	DDX_Text(pDX, IDC_EDIT_TITLE, m_strDlgTitle);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRsCgDlg, CDialog)
	//{{AFX_MSG_MAP(CRsCgDlg)
	ON_BN_CLICKED(ID_BTN_MOVEFIRST, OnBtnMoveFirst)
	ON_BN_CLICKED(ID_BTN_MOVELAST, OnBtnMoveLast)
	ON_BN_CLICKED(ID_BTN_MOVENEXT, OnBtnMoveNext)
	ON_BN_CLICKED(ID_BTN_MOVEPREVIOUS, OnBtnMovePrevious)
	ON_BN_CLICKED(ID_ADD,OnAdd)
	ON_BN_CLICKED(ID_DELETE,OnDelete)
	ON_BN_CLICKED(ID_UPDATE,OnUpdate)
	ON_BN_CLICKED(ID_FILTER,OnFilter)
	ON_BN_CLICKED(ID_RESETFILTER,OnResetFilter)


	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRsCgDlg message handlers

void CRsCgDlg::OnBtnMoveFirst() 
{
	try
	{
		m_pRs->MoveFirst();
		RefreshBoundData();
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}

void CRsCgDlg::OnBtnMoveLast() 
{
	try
	{
		m_pRs->MoveLast();
		RefreshBoundData();
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}

void CRsCgDlg::OnBtnMoveNext() 
{
	try
	{
		m_pRs->MoveNext();
		if(m_pRs->EndOfFile)
			m_pRs->MoveLast();
		RefreshBoundData();;
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}

void CRsCgDlg::OnBtnMovePrevious() 
{
	try
	{
		m_pRs->MovePrevious();
		if(m_pRs->BOF)
			m_pRs->MoveFirst();
		RefreshBoundData();
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}

void CRsCgDlg::OnAdd() 
{
	
	try
	{	
		UpdateData(TRUE);
		
		COleVariant fld[9],val[9];
		fld[0]="EmployeeID";	
		val[0]=m_lDlgEmployeeID;
		fld[1]="LastName";	
		val[1]=m_strDlgLastName;
		fld[2]="FirstName";	
		val[2]=m_strDlgFirstName;
		fld[3]="Title";
		val[3]=m_strDlgTitle;
		fld[4]="Address";
		val[4]=m_strDlgAddress;
		fld[5]="City";
		val[5]=m_strDlgCity;
		fld[6]="Region";
		val[6]=m_strDlgRegion;
		fld[7]="Country";
		val[7]=m_strDlgCountry;
		fld[8]="HomePhone";
		val[8]=m_strDlgHomePhone;

		VARIANT rgf,rgv;
		rgf.vt=VT_ARRAY|VT_VARIANT;
		rgv.vt=VT_ARRAY|VT_VARIANT;
		SAFEARRAYBOUND bound;
		bound.cElements=9;
		bound.lLbound=0;

		rgv.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
		if(rgv.parray==NULL)
			AfxThrowMemoryException();
		rgf.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
		if(rgf.parray==NULL)
			AfxThrowMemoryException();

		long rgIndices[1];
		for(int i=0; i<9;i++)
		{
		rgIndices[0]=i;
		::SafeArrayPutElement(rgf.parray, rgIndices, &fld[i]);
		::SafeArrayPutElement(rgv.parray, rgIndices, &val[i]);
		}
		m_pRs->AddNew(&rgf,&rgv);	
		
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}


void CRsCgDlg::OnDelete() 
{
	try
		{
			m_pRs->Delete(adAffectCurrent);
			m_pRs->MoveNext();
			if(m_pRs->EndOfFile)
				m_pRs->MoveLast();
			RefreshBoundData();
	
		}
		catch (_com_error &e)
		{
			if(m_pRs->EndOfFile && m_pRs->BOF)
				BlankForm();
			else
				GenerateError(e.Error(), e.Description());
		}
	
}


void CRsCgDlg::OnUpdate() 
{
	
	try
	{	
		UpdateData(TRUE);

		COleVariant fld[9],val[9];
		fld[0]="EmployeeID";	
		val[0]=m_lDlgEmployeeID;
		fld[1]="LastName";	
		val[1]=m_strDlgLastName;
		fld[2]="FirstName";	
		val[2]=m_strDlgFirstName;
		fld[3]="Title";
		val[3]=m_strDlgTitle;
		fld[4]="Address";
		val[4]=m_strDlgAddress;
		fld[5]="City";
		val[5]=m_strDlgCity;
		fld[6]="Region";
		val[6]=m_strDlgRegion;
		fld[7]="Country";
		val[7]=m_strDlgCountry;
		fld[8]="HomePhone";
		val[8]=m_strDlgHomePhone;

		VARIANT rgf,rgv;
		rgf.vt=VT_ARRAY|VT_VARIANT;
		rgv.vt=VT_ARRAY|VT_VARIANT;
		SAFEARRAYBOUND bound;
		bound.cElements=9;
		bound.lLbound=0;

		rgv.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
		if(rgv.parray==NULL)
			AfxThrowMemoryException();
		rgf.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
		if(rgf.parray==NULL)
			AfxThrowMemoryException();

		long rgIndices[1];
		for(int i=0; i<9;i++)
		{
		rgIndices[0]=i;
		::SafeArrayPutElement(rgf.parray, rgIndices, &fld[i]);
		::SafeArrayPutElement(rgv.parray, rgIndices, &val[i]);
		}
			m_pRs->Update(&rgf,&rgv);	
		
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}


void CRsCgDlg::OnFilter() 
{
	m_strDlgAddress = _T("");
	m_strDlgCity = _T("");
	m_strDlgCountry = _T("");
	m_lDlgEmployeeID = 0;
	m_strDlgFirstName = _T("");
	m_strDlgHomePhone = _T("");
	m_strDlgLastName = _T("");
	m_strDlgRegion = _T("");
	m_strDlgTitle = _T("");
	UpdateData(FALSE);
	int nRes = m_qDlg.DoModal();
	
	try
	{
	m_pRs->Filter = m_qDlg.cmd_str;
	if(m_pRs->BOF | m_pRs->EndOfFile)
	{
	MessageBox("No Matching Records");
	m_pRs->Filter="";
	}
	else
	OnBtnMoveFirst();
	}
	catch (_com_error &e)
	{
		GenerateError(e.Error(), e.Description());
	}
}

void CRsCgDlg::OnResetFilter() 
{
	m_pRs->Filter="";
	
}



void CRsCgDlg::BlankForm()
{
	m_strDlgAddress = _T("");
	m_strDlgCity = _T("");
	m_strDlgCountry = _T("");
	m_lDlgEmployeeID = 0;
	m_strDlgFirstName = _T("");
	m_strDlgHomePhone = _T("");
	m_strDlgLastName = _T("");
	m_strDlgRegion = _T("");
	m_strDlgTitle = _T("");
	UpdateData(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av一区二区三区四区| 一区二区三区 在线观看视频| 久久爱www久久做| 欧美大度的电影原声| 国产精品一区一区| 综合中文字幕亚洲| 欧美性色综合网| 免费日韩伦理电影| 精品粉嫩aⅴ一区二区三区四区| 国产成人av在线影院| 中文字幕中文在线不卡住| 欧美亚洲精品一区| 麻豆精品蜜桃视频网站| 欧美激情一区二区三区蜜桃视频| 91色|porny| 天天操天天综合网| 国产亚洲欧美日韩在线一区| 97精品电影院| 老司机精品视频在线| 国产精品毛片高清在线完整版| 欧洲国产伦久久久久久久| 秋霞av亚洲一区二区三| 中文字幕巨乱亚洲| 91.xcao| 国产乱一区二区| 亚洲成人一区在线| 亚洲一区二区av在线| 日韩午夜小视频| 91在线免费看| 美国毛片一区二区| 亚洲伦理在线精品| 久久只精品国产| 欧美日韩国产影片| 床上的激情91.| 日本欧美久久久久免费播放网| 国产精品视频免费| 精品裸体舞一区二区三区| 色综合天天视频在线观看| 蓝色福利精品导航| 一区二区三区日本| 国产精品久久精品日日| 日韩欧美一级二级三级| 欧美伊人久久久久久久久影院| 国产一区二区精品在线观看| 午夜精品久久久久久久| 最新国产精品久久精品| 国产丝袜在线精品| 日韩一级大片在线| 欧美日本免费一区二区三区| av一区二区三区四区| 国产麻豆视频一区| 另类中文字幕网| 午夜视频在线观看一区二区三区| 亚洲人成7777| 国产精品久久久久久久蜜臀| 久久久噜噜噜久久中文字幕色伊伊 | 91欧美激情一区二区三区成人| 精品一区二区在线看| 视频一区欧美精品| 亚洲国产精品一区二区久久| 一色屋精品亚洲香蕉网站| 国产亚洲成年网址在线观看| 欧美不卡在线视频| 欧美大片在线观看一区二区| 56国语精品自产拍在线观看| 精品视频在线视频| 欧美午夜精品一区| 色欧美片视频在线观看在线视频| av动漫一区二区| av亚洲精华国产精华精| av中文字幕不卡| 不卡免费追剧大全电视剧网站| 高清在线观看日韩| 成人性色生活片| 高清国产一区二区| 懂色av一区二区三区免费看| 国产91在线看| 波多野洁衣一区| 91在线看国产| 欧美视频三区在线播放| 欧美日韩国产中文| 日韩视频中午一区| 精品国产99国产精品| 久久精品在线免费观看| 国产精品素人视频| 亚洲乱码中文字幕| 亚洲高清中文字幕| 麻豆视频观看网址久久| 国产在线麻豆精品观看| 丰满少妇在线播放bd日韩电影| 成人免费观看视频| 色天天综合色天天久久| 欧美日韩精品一区二区在线播放 | 欧美一区二区精美| 日韩欧美国产一区二区在线播放| 2017欧美狠狠色| 国产精品色婷婷| 亚洲国产精品一区二区久久恐怖片| 日本欧美韩国一区三区| 国产一区二区三区高清播放| 9色porny自拍视频一区二区| 欧美三级乱人伦电影| 日韩免费观看高清完整版在线观看 | 久久国产精品区| 成人免费视频网站在线观看| 91成人在线精品| 日韩一级欧美一级| 国产精品国产馆在线真实露脸| 亚洲综合色婷婷| 经典三级视频一区| 99精品一区二区三区| 91精品国产乱码久久蜜臀| 国产婷婷一区二区| 亚洲一区二区免费视频| 国产又黄又大久久| 在线精品视频免费观看| 久久亚洲欧美国产精品乐播| 亚洲男同性恋视频| 玖玖九九国产精品| 色狠狠色狠狠综合| 久久久久久免费毛片精品| 亚洲国产综合人成综合网站| 国产伦精品一区二区三区在线观看| 色婷婷香蕉在线一区二区| 欧美精品一区二区三区久久久| 亚洲乱码国产乱码精品精的特点 | 精品日产卡一卡二卡麻豆| 国产精品国产成人国产三级| 日韩av二区在线播放| 99国产欧美另类久久久精品| 日韩精品一区二区三区中文精品| 椎名由奈av一区二区三区| 精品亚洲国内自在自线福利| 欧美在线色视频| 国产精品不卡一区| 国产馆精品极品| 91精品国产91久久久久久最新毛片 | 精品久久久久久久一区二区蜜臀| 亚洲精品v日韩精品| 成人手机电影网| www国产亚洲精品久久麻豆| 亚洲影院理伦片| 91丨九色丨蝌蚪丨老版| 欧美国产日韩在线观看| 麻豆精品在线视频| 欧美日韩国产精品自在自线| 专区另类欧美日韩| 成人av动漫网站| 国产亚洲欧美一区在线观看| 激情欧美一区二区三区在线观看| 欧美日本视频在线| 亚洲国产精品视频| 91麻豆精品秘密| 国产精品的网站| 国产98色在线|日韩| 国产亚洲欧美在线| 国产精品影视在线| 亚洲精品一区二区三区四区高清| 蜜臀久久久99精品久久久久久| 欧美精品一二三区| 午夜不卡av免费| 在线电影一区二区三区| 婷婷综合在线观看| 欧美精品三级日韩久久| 色悠悠亚洲一区二区| 成人免费小视频| 91在线观看一区二区| 中文一区一区三区高中清不卡| 岛国精品在线播放| 国产精品国产三级国产专播品爱网 | 亚洲图片一区二区| 欧美丝袜丝nylons| 五月天精品一区二区三区| 欧美久久久久久久久中文字幕| 偷窥少妇高潮呻吟av久久免费| 欧美精品一级二级| 美脚の诱脚舐め脚责91| 26uuu精品一区二区在线观看| 国产精品一区专区| 国产精品大尺度| 欧美午夜精品理论片a级按摩| 水野朝阳av一区二区三区| 日韩欧美国产综合| 国产成人激情av| 一区二区三区日韩精品视频| 欧美猛男男办公室激情| 激情综合色综合久久| 欧美国产欧美亚州国产日韩mv天天看完整 | 免费不卡在线视频| 国产清纯美女被跳蛋高潮一区二区久久w | 久久福利资源站| 欧美国产日本视频| 欧美性猛交一区二区三区精品| 日韩av成人高清| 中文字幕免费不卡| 欧美三级电影一区| 欧美美女直播网站| 国产精品一区二区三区网站| 亚洲欧美日韩国产成人精品影院 | 精品国产精品网麻豆系列|