⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dag.cpp

📁 VC操作SQL Server主从表,一种利用VC操作数据库主从表的源码
💻 CPP
字号:
// dag.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "dag.h"

#include "MainFrm.h"
#include "dagDoc.h"
#include "dagView.h"
#include "ClassTreeView.h"
#include "DagDetialView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "skinmagiclib.h"

/////////////////////////////////////////////////////////////////////////////
// CDagApp

BEGIN_MESSAGE_MAP(CDagApp, CWinApp)
	//{{AFX_MSG_MAP(CDagApp)
	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CDagApp construction

CDagApp::CDagApp()
{
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CDagApp object

CDagApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CDagApp initialization

BOOL CDagApp::InitInstance()
{
	//设置互斥信号量
	
//	HANDLE m_hMutex=CreateMutex(NULL,TRUE, m_pszAppName); 
//    if(GetLastError()==ERROR_ALREADY_EXISTS) { return FALSE; }
	AfxEnableControlContainer();
    
	// Standard initialization
	

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

	//初始化COM,创建ADO连接等操作
	AfxOleInit();
	m_pConnection.CreateInstance(__uuidof(Connection));
	try                 
	{	
		//打开本地Access库Demo.mdb
		m_pConnection->Open("Provider=SQLOLEDB;server=(local);uid=sa;pwd=1234;database=sambios",
			"","",NULL);
		
	}
	catch(_com_error e)
	{
		AfxMessageBox("数据库连接失败,确认数据库Demo.mdb是否在当前路径下!");
		return FALSE;
	} 
	// Change the registry key under which our settings are stored.
	SetRegistryKey(_T("Local AppWizard-Generated Applications"));

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

	// Register document templates    
	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CDagDoc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CDagView)   
		);
	AddDocTemplate(pDocTemplate);
 /*   AddDocTemplate(	
		new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CDagDoc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CClassTreeView)));
	AddDocTemplate(
		new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CDagDoc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CDagDetialView)
		));
*/	// Parse command line for standard shell commands, DDE, file open
 
	CCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);
    
	// Dispatch commands specified on the command line
	if (!ProcessShellCommand(cmdInfo))
		return FALSE;
   VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "sambios" , 
		NULL,
		NULL ) );
	
	VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle()  , "SKIN" ,"SKIN") ); 
	
	VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
	VERIFY( 1 == SetDialogSkin( "Dialog" ) );
	m_pMainWnd->SetWindowText("SQL server 主从表DEMO");
	m_pMainWnd->ShowWindow(SW_SHOW);	
	m_pMainWnd->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 CDagApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CDagApp message handlers


int CDagApp::ExitInstance() 
{
	// 关闭ADO连接状态
	if(m_pConnection->State)
		m_pConnection->Close();
	m_pConnection= NULL;	
	return CWinApp::ExitInstance();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -