|
p;Connected.setter(&CAdoConnection::SetConnected); Connected.getter(&CAdoConnection::GetConnected); // 创建一个连接实例 try { HRESULT hr = m_ptrConn.CreateInstance(__uuidof(Connection)); if (FAILED(hr)) { CString errormessage("创建实例失败!"); AfxMessageBox(errormessage); throw; } } catch(_com_error & error) { CString errormessage; errormessage.Format("创建实例失败!\r\n错误信息:%s", error.ErrorMessage()); AfxMessageBox(errormessage); } // 设定连接等待的最大秒数,默认是15秒 m_ptrConn->ConnectionTimeout=15; UserName = ""; PassWord = ""; }CAdoConnection::~CAdoConnection() { if (GetConnected()) SetConnected(FALSE); m_ptrConn=NULL; } CAdoConnection::operator _ConnectionPtr() { return m_ptrConn; } void CAdoConnection::SetConnected(BOOL ConnectFlag) { if (TRUE == ConnectFlag) { try { // 打开连接 m_ptrConn->Open(ConnectingString.c_str(), UserName.c_str(), PassWord.c_str(), adModeUnknown); } catch(_com_error & error) { CString errormessage; errormessage.Format("连接数据库失败!\r\n错误信息:%s", error.ErrorMessage()); AfxMessageBox(errormessage); } } else { m_ptrConn->Close(); } } BOOL CAdoConnection::GetConnected() { if (m_ptrConn->State == adStateOpen) return TRUE; else return FALSE; } //CAdoCommand CAdoCommand::CAdoCommand() { m_AdoConnection = NULL; CommandText = adCmdText; // 创建一个命令对象实例 try { HRESULT hr = m_ptrComm.CreateInstance(__uuidof(Command)); if (FAILED(hr)) { CString errormessage("创建实例失败!"); AfxMessageBox(errormessage); throw; } } catch(_com_error & error) { CString errormessage; errormessage.Format("创建实例失败!\r\n错误信息:%s", error.ErrorMessage()); AfxMessageBox(errormessage); } } CAdoCommand::~CAdoCommand() { m_ptrComm = NULL; }
void CAdoCommand::Execute() { if ((m_AdoConnection == NULL) || (m_AdoConnection->Connected == FALSE)) return; m_ptrComm->ActiveConnection = m_AdoConnection->m_ptrConn; m_ptrComm->CommandType = CommandType; m_ptrComm->CommandText = CommandText.c_str(); try { m_ptrComm->Execute(NULL,NULL,adCmdUnknown); } catch(_com_error & error) { CString errormessage; errormessage.Format("查询数据库失败!\r\n错误信息:%s", error.ErrorMessage()); AfxMessageBox(errormessage); } } CAdoCommand::operator _CommandPtr() { return m_ptrComm; } //CAdoQuery CAdoQuery::CAdoQuery() { m_AdoConnection = NULL; // 创建一个_RecordsetPtr对象实例 try { HRESULT hr = m_ptrRec.CreateInstance("ADODB.Recordset"); if (FAILED(hr)) { CString errormessage("创建实例失败!"); AfxMessageBox(errormessage); throw; } } catch(_com_error & error) { CString errormessage; errormessage.Format("创建实例失败!\r\n错误信息:%s", error.ErrorMessage()); AfxMessageBox(errormessage); } } CAdoQuery::~CAdoQuery() { m_ptrRec = NULL; }
void CAdoQuery::Open() { if ((m_AdoConnection == NULL) || (m_AdoConnection->Connected == FALSE)) return; try { m_ptrRec->Open(Sql.c_str(), (m_AdoConnection->m_ptrConn).GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText); } catch(_com_error & error) { CString errormessage; errormessage.Format("查询数据库失败!\r\n错误信息:%s", error.ErrorMessage()); AfxMessageBox(errormessage); } } CAdoQuery::operator _RecordsetPtr() { return m_ptrRec; } // a.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "a.h" #include "DataAccess.h" #include <fstream> using namespace std; #ifdef _DEBUG #define new DEBUG_NEW #endif // 唯一的应用程序对象
CWinApp theApp; using namespace std; int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; ofstream file("test.txt",std::ios::app); CTime ct; CString text; ct = CTime::GetCurrentTime(); text.Format("%d分%d秒", ct.GetMinute(), ct.GetSecond()); file << argv[1] << "开始时间:" << text << endl; CoInitialize(NULL); // 初始化 MFC 并在失败时显示错误 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: 更改错误代码以符合您的需要 _tprintf(_T("致命错误: MFC 初始化失败\n")); nRetCode = 1; } else { // TODO: 在此处为应用程序的行为编写代码。 CAdoConnection AdoConnection; CAdoCommand AdoCommand; AdoConnection.ConnectingString = "Provider=SQLOLEDB;Network Address=127.0.0.1;Initial Catalog=临时数据库"; AdoConnection.UserName = "sa"; AdoConnection.PassWord = "sa"; if (AdoConnection.Connected == FALSE) AdoConnection.Connected = TRUE; AdoCommand.CommandType = adCmdText; AdoCommand.CommandText = string("INSERT INTO ") + string(argv[1]) + string(" (name) VALUES (''''ghb'''')"); AdoCommand.m_AdoConnection = &AdoConnection; for (int i = 0; i<10000; i++) AdoCommand.Execute(); AdoConnection.Connected = FALSE; } CoUninitialize(); ct = CTime::GetCurrentTime(); text.Format("%d分%d秒", ct.GetMinute(), ct.GetSecond()); file << argv[1] << "结束时间:" << text << endl; return nRetCode; }
// b.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "b.h" #include <fstream> using namespace std; #ifdef _DEBUG #define new DEBUG_NEW #endif // 唯一的应用程序对象
CWinApp theApp; using namespace std; int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; ofstream file("test.txt",std::ios::app); CTime ct; CString temp; ct = CTime::GetCurrentTime(); temp.Format("%d分%d秒", ct.GetMinute(), ct.GetSecond()); file << "主console程序开始时间:" << temp << endl; // 初始化 MFC 并在失败时显示错误 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: 更改错误代码以符合您的需要 _tprintf(_T("致命错误: MFC 初始化失败\n")); & 上一页 [1] [2] [3] 下一页 [办公软件]在sybase中插入图片、PDF、文本文件 [办公软件]安装Sybase ASE [办公软件]linux指令大全(完整篇) [办公软件]Linux新手入门常用命令大全 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法 [办公软件]Linux程序员必读:中文化与GB18030标准 [办公软件]linux指令大全 [办公软件]制作Linux启动盘的四种方法 [办公软件]Linux文件系统的反删除方法
|