在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();}