分类：电脑/网络-程序设计
问题：在VC中C++程序怎么和数据库链接，要能在VC运行的简单的程序 
回答：最简单的用ado方式（我的空间有详细介绍，号为二六八零零二九七）建立一dlg工程文件。建立一个单独的数据库处理类CAdo,(无继承)在该类的.h文件中输入#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")//引用数据库定义两个变量public:  _ConnectionPtr m_connect;//数据库连接智能变量  _RecordsetPtr  m_recordset;//数据游标智能变量定义四个函数处理数据库操作public:  BOOL OnInitADOConn();//初始化  _RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);//获得游标  void ExitConnect();//退出处理  BOOL ExecuteSQL(_bstr_t bstrSQL);//执行Sql语句分别实现函数代码答案补充BOOL CAdo::OnInitADOConn(){  ::CoInitialize(NULL);    CString Dsn;        Dsn.Format(".......");//输入你自己的数据源名称  try    {      m_connect.CreateInstance("ADODB.Connection");    /*  _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FHSASDB;Data Source=.";此处为直接连接方式*/      m_connect->Open(_bstr_t(Dsn),"","",-1);    }    catch(_com_error e)    {      AfxMessageBox(e.Description()+"\n请重新配置历史服务器");      return FALSE;    }    return TRUE;}答案补充_RecordsetPtr& CAdo::GetRecordSet(_bstr_t bstrSQL)/×获得数据游标函数，调用此函数可以实现数据读写×/{  try  {    if(m_connect==NULL)      OnInitADOConn();    m_recordset.CreateInstance(__uuidof(Recordset));    m_recordset->Open(bstrSQL,m_connect.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);  }  catch(_com_error e)  {    e.Description();  }  return m_recordset;}答案补充BOOL CAdo::ExecuteSQL(_bstr_t bstrSQL)//执行Sql语句函数{  try  {    if(m_connect==NULL)      OnInitADOConn();    m_connect->Execute(bstrSQL,NULL,adCmdText);    return true;  }  catch(_com_error e)  {    e.Description();    return false;  }}void CAdo::ExitConnect(){  if(m_recordset!=NULL)    m_recordset->Close();  m_connect->Close();}