VC连接ACCESS数据库的代码.doc
文本预览下载声明
VC连接ACCESS数据库的代码 ??????
2007-02-07 21:17:51
编辑 删除
?
#include stdafx.h#include iostream.h#import c:\program files\common files\system\ado\msado15.dll \no_namespace rename (EOF, adoEOF)?
int main(){
??? //使用ADO连接数据库...??? //---------------------------------------------------------------------------------??? _ConnectionPtr m_pConnection;
??? CoInitialize(NULL);??? m_pConnection.CreateInstance(__uuidof(Connection));
??? // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,??? // 因为它有时会经常出现一些想不到的错误。??? try???????????????? ??? {??? ??????? // 打开本地Access库db1.mdb??????? m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb,,,adModeUnknown);??????? ??? }??? catch(_com_error e)??? {??????? cout数据库连接失败,确认数据库db1.mdb是否在当前路径下!endl;??????? return FALSE;??? } ??? //-------------------------------------------------------------------------------------??? //建立数据集??? //-------------------------------------------------------------------------------------??? _RecordsetPtr m_pRecordset;??? m_pRecordset.CreateInstance(__uuidof(Recordset));
??? // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,??? // 因为它有时会经常出现一些意想不到的错误。??? try??? {??? ??????? m_pRecordset-Open(SELECT * FROM Home2,?????? ??????? m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针??????? adOpenDynamic,??????? adLockOptimistic,??????? adCmdText);??? }??? catch(_com_error *e)??? {??????? //AfxMessageBox(e-ErrorMessage());??????? coute-ErrorMessage()endl;??? }???
??? //--------------------------------------------------------------------------------------??? //读取数据??? //--------------------------------------------------------------------------------------??? _variant_t var; ??? char *strID,*strX,*strY;??? float X,Y;??? try??? {??????? if(!m_pRecordset-BOF){??????????? m_pRecordset-MoveFirst();??}??????? else??????? {??????????? cout表内数据为空endl;??????????? return 1;??????? }??????? ??????? // 读入库中各字段并加入列表框中??????? while(!m_pRecordset-adoEOF)??????? {??????????? var = m_pReco
显示全部