VC6.0 连接SQL server 2005

前言:最基本的要记得在相应文件夹中刚加入相应的头文件

 

一、在StdAfx.h中加入这句话: #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

 

二、在BOOL CMyApp::InitInstance()添加函数初始化函数

即:

BOOL CMyApp::InitInstance()
{
 AfxEnableControlContainer();
 AfxOleInit();

}

 

三、建立DataBase.h 和 DataBase.cpp

1、在DataBase.h中加入以下代码

#if !defined(AFX_DATABASE_H__103A370D_E1E8_4329_87C6_D6F21799ACC1__INCLUDED_)
#define AFX_DATABASE_H__103A370D_E1E8_4329_87C6_D6F21799ACC1__INCLUDED_
#endif
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CAdoConnection
{
public:
   CAdoConnection();
   virtual ~CAdoConnection();
   void OnInitADOConn();//连接数据库
   BOOL ExecuteSQL(_bstr_t bstrSQL);//执行Insert UpDate Delete
   _RecordsetPtr & GetRecordSet(_bstr_t bstrSQL);//执行查询
private:
    _ConnectionPtr m_pConnection;//添加一个指向Connection对象的指针
    _RecordsetPtr m_pRecordset;//添加一个指向RecordSet对象的指针
};

 

2、在DataBase.cpp中添加下列代码


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


//类的实现

CAdoConnection::CAdoConnection()
{
    ::CoInitialize(NULL);    //初始化OLE/COM库环境
}
CAdoConnection::~CAdoConnection()
{
   //关闭记录集和连接
    if(m_pRecordset != NULL)
        m_pRecordset->Close();
    m_pConnection->Close();
    ::CoUninitialize();    //释放程序占用的COM资源
}


void CAdoConnection::OnInitADOConn()// 连接数据库
{
try
{
        m_pConnection.CreateInstance("ADODB.Connection");//创建Connection 对象
        _bstr_t strConnect = "driver={SQL Server};Server=(local);DATABASE=你要用的数据库名;UID=数据库的登录用户(比如sa);PWD=数据库登录密码;";                   
        m_pConnection->Open(strConnect,"","",adModeUnknown);
   }
   catch(_com_error e)
   {
        AfxMessageBox(e.Description());//显示错误信息
   }
}


BOOL CAdoConnection::ExecuteSQL(_bstr_t bstrSQL)//执行Insert UpDate
{
    try
    {
       //是否已经连接到数据库
       if(m_pConnection == NULL)
            OnInitADOConn();
       m_pConnection->Execute(bstrSQL,NULL,adCmdText);
       return true;
     }
     catch(_com_error e)
     {
          AfxMessageBox(e.Description());
          return false;
     }
}

_RecordsetPtr& CAdoConnection::GetRecordSet(_bstr_t bstrSQL)//执行查询
{
     try
     {
        //连接数据库 如果Connection对象为空则重新连接数据库
        if(m_pConnection==NULL)
              OnInitADOConn();
        //创建记录集对象
        m_pRecordset.CreateInstance(__uuidof(Recordset));
        //取得表中的记录
        m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockBatchOptimistic,adCmdText);
}
     catch (_com_error e)
     {
         //异常 显示错误信息
         AfxMessageBox(e.Description());
      }
     return m_pRecordset;
}

 

四、以上步骤完成后可能会提示你缺少相应的库文件( ***.lib文件),按一下步骤进行添加

在VC6.0菜单栏的   工程(project)==》增加到工程(Add to project)==》文件(file)==》选择你VC安装目录的VC98文件夹的Lib文件夹添加相应的库文件(比如我的是:H:\VC98\Lib)

 

 

好了,以上步骤走完后,SQL server 2005 就可以连接使用啦,祝你成功!

 

 

你可能感兴趣的:(sql,server,database,数据库,null,insert,file,C++)