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

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

?? visual c++多線程dao處理 .txt

?? vlan的設置Visual C++多線程DAO處理
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
{ 
return CDaoRecordset::GetRecordCount(); 
} 
else 
{ 
return (long)AfxGetMainWnd()-> 
SendMessage(WM_MULTIDAOMESSAGE, MultiDaoGetRecordCount, (LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::MoveNext() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::MoveNext(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoMoveNext, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::MovePrev() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::MovePrev(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoMovePrev, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::MoveFirst() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::MoveFirst(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoMoveFirst, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::MoveLast() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::MoveLast(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoMoveLast, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::Move(long lRows) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::Move(lRows); 
} 
else 
{ 
pParam1 = (void *)&lRows; 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoMove, 
(LPARAM)this); 
} 
} 

BOOL CMultiDaoRecordSet::FindNext(LPCTSTR lpszFilter) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
return CDaoRecordset::FindNext(lpszFilter); 
} 
else 
{ 
pParam1 = (void *)lpszFilter; 
return (BOOL)AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoFindNext, 
(LPARAM)this); 
} 
} 

BOOL CMultiDaoRecordSet::FindPrev(LPCTSTR lpszFilter) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
return CDaoRecordset::FindPrev(lpszFilter); 
} 
else 
{ 
pParam1 = (void *)lpszFilter; 
return (BOOL)AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoFindPrev, 
(LPARAM)this); 
} 
} 

BOOL CMultiDaoRecordSet::FindFirst(LPCTSTR lpszFilter) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
return CDaoRecordset::FindFirst(lpszFilter); 
} 
else 
{ 
pParam1 = (void *)lpszFilter; 
return (BOOL)AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoFindFirst, 
(LPARAM)this); 
} 
} 

BOOL CMultiDaoRecordSet::FindLast(LPCTSTR lpszFilter) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
return CDaoRecordset::FindLast(lpszFilter); 
} 
else 
{ 
pParam1 = (void *)lpszFilter; 
return (BOOL)AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoFindLast, 
(LPARAM)this); 
} 
} 

BOOL CMultiDaoRecordSet::Find(long lFindType, LPCTSTR lpszFilter) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
return CDaoRecordset::Find(lFindType, lpszFilter); 
} 
else 
{ 
pParam1 = (void *)&lFindType; 
pParam2 = (void *)lpszFilter; 
return (BOOL)AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoFind, 
(LPARAM)this); 
} 
} 

COleVariant CMultiDaoRecordSet::GetBookmark() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
return CDaoRecordset::GetBookmark(); 
} 
else 
{ 
return AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoGetBookmark, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::SetBookmark(COleVariant varBookmark) 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::SetBookmark(varBookmark); 
} 
else 
{ 
pParam1 = (void *)&varBookmark; 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoSetBookmark, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::AddNew() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::AddNew(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoAddNew, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::Edit() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::Edit(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoEdit, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::Update() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::Update(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoUpdate, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::Delete() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::Delete(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoDelete, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::CancelUpdate() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::CancelUpdate(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoCancelUpdate, 
(LPARAM)this); 
} 
} 

void CMultiDaoRecordSet::Requery() 
{ 
CMYApp *pApp = ((CMYApp *)AfxGetApp()); 
if (pApp->pGUIThread == AfxGetThread()) 
{ 
CDaoRecordset::Requery(); 
} 
else 
{ 
AfxGetMainWnd()->SendMessage(WM_MULTIDAOMESSAGE, MultiDaoRequery, 
(LPARAM)this); 
} 
} 

and, Multidaorecordset.h


#if !defined(AFX_MULTIDAORECORDSET_H__BECC8DC3_A967_11D2_BA4C_006097808646__INCLUDED_)
#define AFX_MULTIDAORECORDSET_H__BECC8DC3_A967_11D2_BA4C_006097808646__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// MultiDaoRecordSet.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CMultiDaoRecordSet DAO recordset

enum {
MultiDaoOpen, 
MultiDaoClose, 
MultiDaoIsOpen,
MultiDaoIsBOF,
MultiDaoIsEOF,
MultiDaoIsDeleted,
MultiDaoIsFieldDirty,
MultiDaoIsFieldNull,
MultiDaoIsFieldNullable,
MultiDaoGetName,
MultiDaoGetType,
MultiDaoGetSQL,
MultiDaoGetEditMode,
MultiDaoGetLastModifiedBookmark,
MultiDaoGetRecordCount,
MultiDaoMoveNext,
MultiDaoMovePrev,
MultiDaoMoveFirst,
MultiDaoMoveLast,
MultiDaoMove,
MultiDaoFindNext,
MultiDaoFindPrev,
MultiDaoFindFirst,
MultiDaoFindLast,
MultiDaoFind,
MultiDaoGetBookmark,
MultiDaoSetBookmark,
MultiDaoAddNew,
MultiDaoEdit,
MultiDaoUpdate,
MultiDaoDelete,
MultiDaoCancelUpdate,
MultiDaoRequery,
};

#ifdef MULTIDAORECORDSET_CPP
CString cDAOMessageArray[] = 
{
"MultiDaoOpen", 
"MultiDaoClose", 
"MultiDaoIsOpen",
"MultiDaoIsBOF",
"MultiDaoIsEOF",
"MultiDaoIsDeleted",
"MultiDaoIsFieldDirty",
"MultiDaoIsFieldNull",
"MultiDaoIsFieldNullable",
"MultiDaoGetName",
"MultiDaoGetType",
"MultiDaoGetSQL",
"MultiDaoGetEditMode",
"MultiDaoGetLastModifiedBookmark",
"MultiDaoGetRecordCount",
"MultiDaoMoveNext",
"MultiDaoMovePrev",
"MultiDaoMoveFirst",
"MultiDaoMoveLast",
"MultiDaoMove",
"MultiDaoFindNext",
"MultiDaoFindPrev",
"MultiDaoFindFirst",
"MultiDaoFindLast",
"MultiDaoFind",
"MultiDaoGetBookmark",
"MultiDaoSetBookmark",
"MultiDaoAddNew",
"MultiDaoEdit",
"MultiDaoUpdate",
"MultiDaoDelete",
"MultiDaoCancelUpdate",
"MultiDaoRequery",
};
#else
extern CString cDAOMessageArray[]; 
#endif

class CMultiDaoRecordSet : public CDaoRecordset
{
public:

//jtm
//FORCE user to pass database...
CMultiDaoRecordSet(CDaoDatabase* pDatabase);

~CMultiDaoRecordSet();

DECLARE_DYNAMIC(CMultiDaoRecordSet)

// Field/Param Data
//{{AFX_FIELD(CMultiDaoRecordSet, CDaoRecordset)
//}}AFX_FIELD

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMultiDaoRecordSet)
public:
virtual CString GetDefaultDBName(); // Default database name
//}}AFX_VIRTUAL

// Implementation
//jtm
//redefined public functions
//Note: I am only redefining SOME
//of the public functions this is NOT
//a FULL implementation !!!!!!
public:
//jtm -- only supporting this open.....
virtual void Open(int nOpenType = AFX_DAO_USE_DEFAULT_TYPE,
LPCTSTR lpszSQL = NULL, int nOptions = 0);
virtual void Close();
BOOL IsOpen();
BOOL IsBOF();
BOOL IsEOF();
BOOL IsDeleted();
BOOL IsFieldDirty(void* pv);
BOOL IsFieldNull(void* pv);
BOOL IsFieldNullable(void* pv);
CString GetName();
short GetType();
short GetEditMode();
CString GetSQL();
COleVariant GetLastModifiedBookmark();
long GetRecordCount(); 
void MoveNext();
void MovePrev();
void MoveFirst();
void MoveLast();
virtual void Move(long lRows); 
BOOL FindNext(LPCTSTR lpszFilter);
BOOL FindPrev(LPCTSTR lpszFilter);
BOOL FindFirst(LPCTSTR lpszFilter);
BOOL FindLast(LPCTSTR lpszFilter);
virtual BOOL Find(long lFindType, LPCTSTR lpszFilter);
COleVariant GetBookmark();
void SetBookmark(COleVariant varBookmark); 
virtual void AddNew();
virtual void Edit();
virtual void Update();
virtual void Delete();
virtual void CancelUpdate(); 
virtual void Requery();

void *pParam1;
void *pParam2;
void *pParam3;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the //previous line.

#endif // !defined(AFX_MULTIDAORECORDSET_H__BECC8DC3_A967_11D2_BA4C_006097808646__INCLUDED_)
 


  調試的東西等你搞好你的程序后就可以刪了,不過要注意,不要直接調用CDaoRecordset,否則,你的應用程序就會問題。我試了一下,使用這個類的時候,你的計算機的速度會稍微的暫停幾秒鐘(正在運行你的程序),不過這不會影響到你的計算機的使用的,因為這個類DAO的調用是通過GUI的,如果你使用不當的話(比如臨界區問題)就會導致計算機的死鎖
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人亚洲综合色影视| 成人av先锋影音| 国产酒店精品激情| 欧美日韩在线直播| 国产蜜臀av在线一区二区三区| 亚欧色一区w666天堂| 成人免费观看av| 精品国精品国产| 亚洲成国产人片在线观看| 成人黄色国产精品网站大全在线免费观看| 欧美色区777第一页| 亚洲天堂av老司机| 国产91精品久久久久久久网曝门| 欧美一区午夜视频在线观看| 一区二区三区日韩欧美| 成人a区在线观看| 欧美高清在线视频| 懂色一区二区三区免费观看| 精品国产乱码久久久久久1区2区| 亚洲图片一区二区| 欧美视频中文字幕| 亚洲一区二区三区激情| 91看片淫黄大片一级在线观看| 日本一区二区三区四区 | 欧美久久久久久久久中文字幕| 国产精品成人在线观看| 成人av网站免费观看| 国产日产亚洲精品系列| 国产精品77777| 日本一区二区三区四区| 成人黄色在线视频| 国产精品免费网站在线观看| 从欧美一区二区三区| 欧美国产一区二区| 91在线视频官网| 亚洲天天做日日做天天谢日日欢| 99精品黄色片免费大全| 亚洲日韩欧美一区二区在线| 91久久久免费一区二区| 一区二区免费视频| 欧美日韩精品三区| 热久久一区二区| 久久综合av免费| 粉嫩绯色av一区二区在线观看| 欧美国产精品劲爆| 在线中文字幕一区二区| 天堂va蜜桃一区二区三区漫画版| 日韩一区二区三区高清免费看看| 日韩国产欧美在线观看| 久久综合色综合88| 99r国产精品| 亚洲第一精品在线| 久久久国产午夜精品| k8久久久一区二区三区| 亚洲一级在线观看| 精品国产百合女同互慰| 99久久777色| 首页国产欧美久久| 国产亚洲综合在线| 日本黄色一区二区| 久久激五月天综合精品| 国产精品网站在线播放| 欧美日本视频在线| 成人做爰69片免费看网站| 又紧又大又爽精品一区二区| 日韩一卡二卡三卡国产欧美| 成人精品一区二区三区四区| 亚洲不卡av一区二区三区| 久久蜜臀精品av| 在线观看国产一区二区| 国产一区二区美女| 亚洲国产精品久久人人爱蜜臀| 26uuu亚洲综合色| 欧美亚洲图片小说| 国产.欧美.日韩| 天堂成人免费av电影一区| 亚洲欧洲三级电影| 日韩欧美一二三区| 在线观看一区日韩| 丰满亚洲少妇av| 青青草伊人久久| 一区二区三区日韩欧美精品| 国产欧美日韩亚州综合| 欧美另类久久久品| 91片在线免费观看| 国产电影一区二区三区| 免费高清在线一区| 亚洲成a人片综合在线| 综合久久久久久久| 国产精品色眯眯| 国产日韩av一区| 精品少妇一区二区三区在线视频| 欧洲一区二区三区在线| jlzzjlzz国产精品久久| 国产精品91xxx| 国产一区二区免费视频| 久久精品国产第一区二区三区| 亚洲国产精品自拍| 一区二区三区资源| 亚洲精品国产成人久久av盗摄| 国产视频一区不卡| 久久五月婷婷丁香社区| 欧美一级片在线看| 91精品国产一区二区三区| 欧美日韩精品一区视频| 欧美日韩久久久| 欧美精三区欧美精三区| 欧美性感一类影片在线播放| av电影在线观看不卡| 成人91在线观看| 99视频国产精品| 色综合久久精品| 一本色道久久加勒比精品| 91日韩在线专区| 91成人在线免费观看| 欧美在线一区二区| 欧美日韩你懂得| 在线成人高清不卡| 欧美一区二区三区成人| 精品日韩在线一区| 国产三级精品三级| 国产精品传媒入口麻豆| 亚洲欧美日韩国产手机在线| 亚洲尤物在线视频观看| 五月天亚洲婷婷| 免费观看在线色综合| 极品少妇一区二区三区精品视频 | 欧美日韩亚洲另类| 欧美日韩精品欧美日韩精品| 欧美丰满少妇xxxxx高潮对白| 91精品欧美一区二区三区综合在 | 欧美日韩dvd在线观看| 91精品国产丝袜白色高跟鞋| 欧美大片一区二区| 欧美国产激情二区三区| 亚洲日本护士毛茸茸| 午夜亚洲福利老司机| 麻豆成人av在线| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 亚洲欧洲综合另类| 亚洲国产欧美日韩另类综合| 精品一区二区精品| 成人黄色在线视频| 欧美猛男超大videosgay| 精品少妇一区二区三区免费观看| 国产精品乱码人人做人人爱| 亚洲国产欧美一区二区三区丁香婷| 免费精品99久久国产综合精品| 成人一级视频在线观看| 欧美日韩一区二区在线视频| 精品福利二区三区| 亚洲精品v日韩精品| 蜜桃视频在线观看一区二区| 9i看片成人免费高清| 91精品久久久久久蜜臀| 欧美国产精品一区二区| 青青青伊人色综合久久| 97se亚洲国产综合自在线不卡| 欧美日韩精品一区二区三区四区| 久久精品视频在线免费观看| 亚洲一级电影视频| 成人午夜看片网址| 91精品久久久久久蜜臀| 亚洲激情在线激情| 国产成人免费9x9x人网站视频| 欧美影院午夜播放| 国产精品国产三级国产三级人妇 | 亚洲丰满少妇videoshd| 高清国产一区二区三区| 日韩午夜激情av| 亚洲夂夂婷婷色拍ww47| 成人黄色综合网站| 久久无码av三级| 久久精品免费观看| 欧美日韩一区二区在线观看视频| 国产亚洲欧美日韩俺去了| 三级成人在线视频| 在线观看亚洲专区| 中文字幕一区二区在线观看| 精品制服美女丁香| 欧美一区二区性放荡片| 亚洲成人激情综合网| 日本高清不卡视频| 国产精品美日韩| 成人一区二区三区视频在线观看| 精品嫩草影院久久| 久久精品国产亚洲aⅴ| 日韩一级视频免费观看在线| 精品伊人久久久久7777人| 欧美日韩在线综合| 亚洲福中文字幕伊人影院| 欧美无乱码久久久免费午夜一区| 中文字幕日韩一区| 91蜜桃视频在线| 亚洲人123区| 在线精品视频免费观看| 亚洲与欧洲av电影| 欧美色图一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品国产品国语在线app|