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

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

?? query.cpp

?? 數據庫動態查詢
?? CPP
字號:
/////////////////////////////////////////////////////////////////
//                                                             //
//                      Query.cpp                              //
//-------------------------------------------------------------//
//             By Eugene Khodakovsky                           //
//                  April,2002                                 //
//             Eugene@cpplab.com                               //
//            Last Update: April, 2002                         //
/////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Query.h"

#include "MainFrm.h"
#include "ChildFrm.h"
#include "QueryDoc.h"
#include "QueryView.h"
#include <initguid.h>
#include "Query_i.c"

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

/////////////////////////////////////////////////////////////////////////////
// CQueryApp

BEGIN_MESSAGE_MAP(CQueryApp, CWinApp)
	//{{AFX_MSG_MAP(CQueryApp)
	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
	// Standard file based document commands
	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
	// Standard print setup command
	ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryApp construction

CQueryApp::CQueryApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CQueryApp object

CQueryApp theApp;
ATL::CSession* GetSession()
	{ return &theApp.m_Session; }

ATL::CDataSource* GetDataSource()
	{ return &theApp.m_DataSource; }

/////////////////////////////////////////////////////////////////////////////
// CQueryApp initialization

BOOL CQueryApp::InitInstance()
{
	if (!InitATL())
		return FALSE;

	AfxEnableControlContainer();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

	// Change the registry key under which our settings are stored.
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization.
	SetRegistryKey(_T("CPPLab.com"));

	LoadStdProfileSettings();  // Load standard INI file options (including MRU)

	// Register the application's document templates.  Document templates
	//  serve as the connection between documents, frame windows and views.

	CMultiDocTemplate* pDocTemplate;
	pDocTemplate = new CMultiDocTemplate(
		IDR_QUERYTYPE,
		RUNTIME_CLASS(CQueryDoc),
		RUNTIME_CLASS(CChildFrame), // custom MDI child frame
		RUNTIME_CLASS(CQueryView));
	AddDocTemplate(pDocTemplate);
	if(!OpenDatabase())
	{
		return FALSE;
	}

	// create main MDI Frame window
	CMainFrame* pMainFrame = new CMainFrame;
	if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
		return FALSE;
	m_pMainWnd = pMainFrame;

	// Parse command line for standard shell commands, DDE, file open
	CCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);

	if (cmdInfo.m_bRunEmbedded || cmdInfo.m_bRunAutomated)
	{
		return TRUE;
	}



	// Dispatch commands specified on the command line
	if (!ProcessShellCommand(cmdInfo))
		return FALSE;

	// The main window has been initialized, so show and update it.
	pMainFrame->ShowWindow(m_nCmdShow);
	pMainFrame->UpdateWindow();

	return TRUE;
}


/////////////////////////////////////////////////////////////////////////////
// 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)
		// No message handlers
	//}}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()

// App command to run the dialog
void CQueryApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CQueryApp message handlers
bool CQueryApp::OpenDatabase()
{
	LPCTSTR lpszAppSection = "Connection";
	CConnectionDlg dlg;
	m_props.LoadSettings();
	dlg.m_props = m_props;
	if(dlg.DoModal() == IDOK)
	{
		m_props = dlg.m_props;
		m_props.SaveSettings();
		if(!m_props.Connect(&theApp.m_DataSource,&m_Session))
			return false;
		return true;
	}
	return false;
}


	
CQueryModule _Module;

BEGIN_OBJECT_MAP(ObjectMap)
END_OBJECT_MAP()

LONG CQueryModule::Unlock()
{
	AfxOleUnlockApp();
	return 0;
}

LONG CQueryModule::Lock()
{
	AfxOleLockApp();
	return 1;
}
LPCTSTR CQueryModule::FindOneOf(LPCTSTR p1, LPCTSTR p2)
{
	while (*p1 != NULL)
	{
		LPCTSTR p = p2;
		while (*p != NULL)
		{
			if (*p1 == *p)
				return CharNext(p1);
			p = CharNext(p);
		}
		p1++;
	}
	return NULL;
}


int CQueryApp::ExitInstance()
{
	if(m_Session.m_spOpenRowset)
		m_Session.Close();
	if(m_DataSource.m_spInit)
		m_DataSource.Close();
	if (m_bATLInited)
	{
		_Module.RevokeClassObjects();
		_Module.Term();
		CoUninitialize();
	}

	return CWinApp::ExitInstance();

}

BOOL CQueryApp::InitATL()
{
	m_bATLInited = TRUE;

#if _WIN32_WINNT >= 0x0400
	HRESULT hRes = CoInitializeEx(NULL, COINIT_MULTITHREADED);
#else
	HRESULT hRes = CoInitialize(NULL);
#endif

	if (FAILED(hRes))
	{
		m_bATLInited = FALSE;
		return FALSE;
	}

	_Module.Init(ObjectMap, AfxGetInstanceHandle());
	_Module.dwThreadID = GetCurrentThreadId();

	LPTSTR lpCmdLine = GetCommandLine(); //this line necessary for _ATL_MIN_CRT
	TCHAR szTokens[] = _T("-/");

	BOOL bRun = TRUE;
	LPCTSTR lpszToken = _Module.FindOneOf(lpCmdLine, szTokens);
	while (lpszToken != NULL)
	{
		if (lstrcmpi(lpszToken, _T("UnregServer"))==0)
		{
			_Module.UpdateRegistryFromResource(IDR_QUERY, FALSE);
			_Module.UnregisterServer(TRUE); //TRUE means typelib is unreg'd
			bRun = FALSE;
			break;
		}
		if (lstrcmpi(lpszToken, _T("RegServer"))==0)
		{
			_Module.UpdateRegistryFromResource(IDR_QUERY, TRUE);
			_Module.RegisterServer(TRUE);
			bRun = FALSE;
			break;
		}
		lpszToken = _Module.FindOneOf(lpszToken, szTokens);
	}

	if (!bRun)
	{
		m_bATLInited = FALSE;
		_Module.Term();
		CoUninitialize();
		return FALSE;
	}

	hRes = _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, 
		REGCLS_MULTIPLEUSE);
	if (FAILED(hRes))
	{
		m_bATLInited = FALSE;
		CoUninitialize();
		return FALSE;
	}	

	return TRUE;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品国产更新| 精品三级av在线| 不卡高清视频专区| 国产一区二三区好的| 美腿丝袜亚洲色图| 麻豆成人免费电影| 日韩国产在线观看一区| 亚洲国产精品久久不卡毛片 | 欧美国产精品专区| 久久久蜜臀国产一区二区| 精品日韩一区二区三区| 欧美tickling挠脚心丨vk| 欧美v日韩v国产v| 久久色.com| 《视频一区视频二区| 亚洲综合一区在线| 日韩和欧美一区二区| 韩国精品免费视频| caoporn国产一区二区| 日本大香伊一区二区三区| 欧美高清你懂得| 久久先锋影音av鲁色资源 | 99视频精品免费视频| 91影视在线播放| 欧美撒尿777hd撒尿| 日韩一区二区影院| 久久色.com| 洋洋成人永久网站入口| 日韩av午夜在线观看| 国产精品69毛片高清亚洲| av一区二区三区在线| 欧美精品丝袜中出| 国产农村妇女毛片精品久久麻豆 | 欧美精品第一页| 久久一区二区三区国产精品| 亚洲视频在线观看一区| 日韩精品久久理论片| 成人激情免费网站| 6080yy午夜一二三区久久| 国产欧美日韩在线观看| 亚洲毛片av在线| 久草中文综合在线| 99久久国产综合精品麻豆| 欧美一区二区视频免费观看| 国产精品精品国产色婷婷| 同产精品九九九| 丁香婷婷综合五月| 欧美精品久久一区二区三区| 国产午夜亚洲精品不卡| 日韩精品电影在线观看| 不卡影院免费观看| 久久先锋影音av| 日韩精品欧美精品| 在线观看不卡视频| 国产精品乱码妇女bbbb| 精品亚洲成a人| 国产日韩欧美a| 欧美aaaaaa午夜精品| 色猫猫国产区一区二在线视频| 久久伊99综合婷婷久久伊| 日本免费新一区视频| 色综合视频在线观看| 国产精品入口麻豆九色| 国产伦精品一区二区三区视频青涩 | 激情综合网最新| 欧美高清视频在线高清观看mv色露露十八| 久久久国产一区二区三区四区小说| 婷婷六月综合网| 欧美日韩视频第一区| 亚洲国产日日夜夜| 色婷婷精品大视频在线蜜桃视频| 国产精品色婷婷| 成人av免费在线播放| 中文字幕不卡一区| 丁香五精品蜜臀久久久久99网站 | 日韩理论片网站| 成人av在线播放网址| 国产精品久久久久三级| 国内精品嫩模私拍在线| xvideos.蜜桃一区二区| 国内精品免费在线观看| 国产日韩欧美综合一区| 国产成人免费在线视频| 国产精品网站在线播放| 成人一区二区三区在线观看| 国产精品色一区二区三区| 97精品国产露脸对白| 亚洲乱码国产乱码精品精98午夜 | 久久综合资源网| 国产成+人+日韩+欧美+亚洲| 国产精品日日摸夜夜摸av| 91色视频在线| 天天色综合天天| 久久久国产综合精品女国产盗摄| 成人一区二区三区视频| 一个色妞综合视频在线观看| 日韩一区二区三区电影在线观看| 久久99精品久久久久久动态图 | 精品少妇一区二区三区免费观看 | 热久久一区二区| 久久久久国产精品免费免费搜索| 高清在线观看日韩| 一区二区三区在线观看欧美 | 99视频有精品| 日本在线不卡视频| 26uuu国产在线精品一区二区| 97久久精品人人做人人爽50路| 亚洲二区视频在线| 国产婷婷一区二区| 欧美综合一区二区| 国产麻豆精品视频| 亚洲欧美另类久久久精品2019| 日韩视频在线永久播放| www.66久久| 另类小说图片综合网| 亚洲丝袜美腿综合| 日韩欧美激情四射| 欧美亚洲国产bt| 成人h动漫精品一区二区| 一区二区三区国产精华| 久久久一区二区三区| 欧美在线免费观看视频| 丁香天五香天堂综合| 天天av天天翘天天综合网色鬼国产 | 日韩情涩欧美日韩视频| 97精品国产露脸对白| 国产伦精品一区二区三区免费 | 欧美激情一区二区三区不卡| 欧美日韩中文国产| 国产·精品毛片| 激情综合色丁香一区二区| 亚洲自拍偷拍综合| 国产精品免费aⅴ片在线观看| 欧美一区二区三区男人的天堂| 一本色道亚洲精品aⅴ| 大桥未久av一区二区三区中文| 蜜臀av亚洲一区中文字幕| 亚洲一二三区在线观看| 亚洲欧洲精品一区二区三区不卡| 精品久久久久99| 欧美成人三级在线| 欧美一区二区播放| 91精品在线麻豆| 91精品国产色综合久久ai换脸 | 国产精品美女久久久久av爽李琼 | 欧美自拍丝袜亚洲| www.亚洲激情.com| 国产91在线看| 国内外成人在线| 国产毛片精品国产一区二区三区| 蜜臀久久99精品久久久画质超高清 | 日韩av电影天堂| 亚洲国产视频一区二区| 午夜一区二区三区视频| 亚洲国产美女搞黄色| 亚洲福利一二三区| 午夜精品久久久| 日本欧美一区二区在线观看| 日韩黄色免费网站| 韩国欧美一区二区| 成人污视频在线观看| 91蜜桃视频在线| 欧美日韩性生活| 精品欧美黑人一区二区三区| 精品国产亚洲一区二区三区在线观看| 日韩一级二级三级精品视频| 精品久久国产老人久久综合| 久久综合资源网| 亚洲欧美成人一区二区三区| 亚洲综合一区二区| 免费成人小视频| 成人免费看片app下载| 色www精品视频在线观看| 欧美婷婷六月丁香综合色| 欧美一区二区免费视频| 久久美女艺术照精彩视频福利播放 | 国产亚洲美州欧州综合国| 中文字幕av一区 二区| 一级精品视频在线观看宜春院| 日本不卡高清视频| 成人免费av在线| 6080日韩午夜伦伦午夜伦| 久久久蜜桃精品| 天天操天天干天天综合网| 国产精品一区二区久久不卡 | 亚洲成av人影院| 久久精品国产77777蜜臀| 成人h动漫精品一区二区| 欧美日韩亚洲综合一区二区三区| 精品久久一区二区三区| 亚洲日本在线视频观看| 蜜桃视频一区二区三区| av一区二区三区四区| 日韩一级二级三级精品视频| 亚洲欧美日韩在线不卡| 精品午夜久久福利影院 | 日日夜夜精品视频免费| 国产一区在线不卡| 欧美日韩成人综合| 中文字幕一区av|