vc链接数据库和操作数据库的函数清单
 
         这是我写的一个类,类名是ADOConn.cpp和ADOConn.h,主要作用就是把vc链接数据库和操作数据库的函数清单写在了这里面。把这个类加进vc中是可以直接运行的,你直接调用就行了。改一些路径,他可以对access,SqlServer等数据库进行很好的操作。
         第一个是ADOConn.cpp
InBlock.gif// ADOConn.cpp: implementation of the ADOConn class.
///////////////////////////////
InBlock.gif
InBlock.gif#include "stdafx.h"
InBlock.gif#include "myshoujiDlg.h"     //主函数
InBlock.gif#include "ADOConn.h"
InBlock.gif
InBlock.gif#ifdef _DEBUG
InBlock.gif#undef THIS_FILE
InBlock.gifstatic char THIS_FILE[]=__FILE__;
InBlock.gif#define new DEBUG_NEW
InBlock.gif#endif
///////////////////////////////
InBlock.gif// Construction/Destruction
////////////////////////////////
InBlock.gif
InBlock.gifADOConn::ADOConn()
InBlock.gif{
InBlock.gif
InBlock.gif}
InBlock.gif
InBlock.gifADOConn::~ADOConn()
InBlock.gif{
InBlock.gif
InBlock.gif}
InBlock.gif
InBlock.gifvoid ADOConn::OnInitADOConn()                                      //以调用access为例,其实调用SqlServer等也是一样的
InBlock.gif{
InBlock.gif  ::CoInitialize(NULL);     //初始化COM组件
InBlock.gif  try
InBlock.gif  {
InBlock.gif             m_pConnection.CreateInstance("ADODB.Connection");
InBlock.gif        _bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=shouji.mdb";             //链接数据库,这里是shouji数据库,可以根据具体情况改
InBlock.gif        m_pConnection->Open(strConnect,"","",adModeUnknown);
InBlock.gif  }
InBlock.gif  catch(_com_error e)
InBlock.gif  {
InBlock.gif    AfxMessageBox(e.Description());
InBlock.gif  }
InBlock.gif}
InBlock.gif
InBlock.gif_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
InBlock.gif{
InBlock.gif        try
InBlock.gif  {
InBlock.gif    if(m_pConnection==NULL)
InBlock.gif                            OnInitADOConn();
InBlock.gif    m_pRecordset.CreateInstance(__uuidof(Recordset));
InBlock.gif                m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
InBlock.gif  }
InBlock.gif        catch(_com_error e)                        //捕捉异常
InBlock.gif  {
InBlock.gif    e.Description();
InBlock.gif  }
InBlock.gif  return m_pRecordset;
InBlock.gif}
InBlock.gif
InBlock.gifBOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)        //再打开数据库后,执行Sql语句
InBlock.gif{
InBlock.gif  _variant_t RecordsAffected;
InBlock.gif  try
InBlock.gif  {
InBlock.gif                if(m_pConnection==NULL)
InBlock.gif              OnInitADOConn();
InBlock.gif                m_pConnection->Execute(bstrSQL,NULL,adCmdText);
InBlock.gif    return true;
InBlock.gif  }
InBlock.gif  catch(_com_error e)
InBlock.gif  {
InBlock.gif    e.Description();
InBlock.gif    return false;
InBlock.gif  }
InBlock.gif}
InBlock.gif
InBlock.gifvoid ADOConn::ExitConnect()                    //退出链接
InBlock.gif{
InBlock.gif        if(m_pRecordset!=NULL)
InBlock.gif    m_pRecordset->Close();
InBlock.gif  m_pConnection->Close();
InBlock.gif  ::CoUninitialize();
InBlock.gif}
第二个是ADOConn.h
InBlock.gif// ADOConn.h: interface for the ADOConn class.
////////////////////////////////
InBlock.gif
InBlock.gif#if !defined(AFX_ADOCONN_H__A2B6E8CE_2220_4830_95F8_2911D1EAC453__INCLUDED_)
InBlock.gif#define AFX_ADOCONN_H__A2B6E8CE_2220_4830_95F8_2911D1EAC453__INCLUDED_
InBlock.gif#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
InBlock.gif
InBlock.gif#if _MSC_VER > 1000
InBlock.gif#pragma once
InBlock.gif#endif // _MSC_VER > 1000
InBlock.gif
InBlock.gifclass ADOConn    
InBlock.gif{
InBlock.gifpublic:
InBlock.gif        _ConnectionPtr m_pConnection;
InBlock.gif  _RecordsetPtr m_pRecordset;
InBlock.gifpublic:
InBlock.gif  ADOConn();
InBlock.gif  virtual ~ADOConn();
InBlock.gif
InBlock.gif  void OnInitADOConn();
InBlock.gif        _RecordsetPtr&GetRecordSet(_bstr_t bstrSQL);
InBlock.gif        BOOL ExecuteSQL(_bstr_t bstrSQL);
InBlock.gif  void ExitConnect();
InBlock.gif
InBlock.gif};
InBlock.gif
InBlock.gif#endif // !defined(AFX_ADOCONN_H__A2B6E8CE_2220_4830_95F8_2911D1EAC453__INCLUDED_)
         希望对你有所帮助。