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

📄 lqexport.cpp

📁 这是一个odbc数据库接口程序
💻 CPP
字号:
// lqexport.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "lqexport.h"
#include "lqexportDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLqexportApp

BEGIN_MESSAGE_MAP(CLqexportApp, CWinApp)
	//{{AFX_MSG_MAP(CLqexportApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLqexportApp construction

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

/////////////////////////////////////////////////////////////////////////////
// The one and only CLqexportApp object

CLqexportApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CLqexportApp initialization

BOOL CLqexportApp::InitInstance()
{
	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
	/***********************初始化com*******************************/
	if (FAILED(::CoInitialize(NULL)))
    {
		AfxMessageBox("ADO Initial failed...");
		return FALSE;
	}

	/**************************连接数据库************************************/
    try
	{
		AfxOleInit(); //初始化COM
		ADOConn.CreateInstance(__uuidof(Connection));//实例化
		_bstr_t strConnect;
		strConnect = "Provider = SQLOLEDB.1; Integrated Security = SSPI; \
																		   Presist Security Info = FALSE;  \
																		   Initial Catalog = spvsdb; Data Source = (local)";
		ADOConn->Open(strConnect, "sa", "", adModeUnknown);
	}
    catch(_com_error &e)
	{
		CString err;
		err.Format("ERROR:%s", (char *)(e.Description()));
		AfxMessageBox("本地数据库连接不成功!");
		return FALSE;
	}
    catch(...)
	{
		AfxMessageBox("Unknow Error ...");
		return FALSE;
	}
 
	/*****************************************************************/
	m_pADOSet.CreateInstance(__uuidof(Recordset));
 


	CLqexportDlg dlg;
	m_pMainWnd = &dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}
BOOL CLqexportApp ::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
	if (adStateOpen == ADOSet->State)   //判定状态
	{
		ADOSet->Close();
	}
	
	try
	{
		ADOSet->Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
		return TRUE;
	}
	catch(_com_error &e)
	{
		CString err;
		err.Format("ERROR: %s", (char *)(e.Description()));
		AfxMessageBox(err);
		return FALSE;
	}
	catch(...)
	{
		AfxMessageBox("Unknown Error ...");
		return FALSE;
	}
	
}

⌨️ 快捷键说明

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