vc操作数据库的方法很多,由于刚做完一个数据库方面的程序,想总结一下,这里只简单介绍一下ado。
ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且,ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。
vc使用智能指针连接数据库,这里只针对sql server。
首先在stdafx.h里引入msado15.dll
#import "C:/Program Files/Common Files/System/ado/msado15.dll " no_namespace rename("EOF","adoeof")
初始化:AfxOleInit();
建立连接:_ConnectionPtr m_pConn;
m_pConn.CreateInstance(__uuidof(Connection));
m_pConn->Open("Provider=SQLOLEDB.1;Persist Security Info=False;User Id=sa;Password=sa;Data Source=GXR;Initial Catalog=yikatong",
"","",adModeUnknown);
建立数据集:
_variant_t varjiqi="select * from jiqi"
_RecordsetPtr rstjiqi(__uuidof(Recordset));
rstjiqi->CursorLocation=adUseClient;
rstjiqi->Open(varjiqi,theApp.m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
读取数据:rstjiqi->GetCollect("字段");//注意,返回的是_variant_t类型,还需转换。
修改数据:rstjiqi->PutCollect("字段",_variant_t(数据));
更新数据:rstjiqi->Update();
关闭数据集:rstjiqi->Close();
关闭连接:rstjiqi->Close();
ado还是比较方便的,自己先简单总结一下。