Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18671326
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 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();
}

由于本人上网时间问题,下次进行发表“第二部分”。

阅读(585) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~