分类: C/C++
2008-05-28 16:25:45
使用VC6进行ADO编程,使用SQL SERVER 2000+WINDOWS SERVER 2003+VC6
目的是将SERVER产生的日志文件--文本格式,写入到SQL SERVER数据库,实现功能为:
1.修改源日志格式为以跳格键分割字段,字段用引号引起,写入成一个新的日志文件。
2.程序读出新日志文件,写入到数据库。
由于是初学VC,不当之处请高人指正,万分感谢!
第一部分
工程名称为vcado,如下是在vcado.cpp中的重要源代码:此代码目的为打开Connection对象!
BOOL CVcadoApp::InitInstance()
{
AfxEnableControlContainer();
AfxOleInit();///初始化COM库
////////////连接数据库//////////////
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("DSN=test;UID=;PWD=;","","",adModeUnknown);///连接数据库
}
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;
}
// 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
CVcadoDlg 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;
}
int CVcadoApp::ExitInstance()
{
if(m_pConnection->State)
m_pConnection->Close(); ///如果已经打开了连接则关闭它
return CWinApp::ExitInstance();
}
由于本人上网时间问题,下次进行发表“第二部分”。