文档详情

VC访问数据库技术的方法实例.doc

发布:2017-08-13约4.18千字共3页下载文档
文本预览下载声明
VC访问数据库技术的方法实例 1.?????ODBC——开放数据库互联 ODBC为使用不同的关系数据库提供了一个统一的程序设计接口。在安装不同的数据库后,需要创建ODBC数据源, 2.?????DAO——数据访问对象 3.?????RDO——远程数据对象 4.?????OLE DB——对象连接与嵌入数据库 5.????? ADO——ActiveX数据对象 ? 这里我说明我使用的两种方法:ODBC和ADO。 ? 1.????? ?ODBC 在安装数据库首先要创建ODBC数据源,使用CDatabase和CRecordset两个MFC的类与数据库建立连接,访问数据库。 1.1????????????? 条件 包含头文件:#include afxdb.h 声明成员变量:CDatabase m_dbPostGre; 1.2????????????? 连接数据库 ?????? int nRetVal; ?????? nRetVal = m_dbPostGre.OpenEx( _T( DSN=PostgreSQL30W;UID=PostGre;PWD=PostGre ), ?????????????????????????????????? ???????????????????? ?CDatabase::openReadOnly | CDatabase::noOdbcDialog ); ?????? if ( nRetVal ) ?????? { ????????????? AfxMessageBox( _T( 连接数据库成功! ) ); ?????? } 1.3????????????? 访问数据 ?????? CRecordset recordset( m_dbPostGre ); ?????? CString strSQL = _T( select * from product ); ?????? recordset.Open( CRecordset::forwardOnly, strSQL, CRecordset::readOnly ); ? ?????? CDBVariant var; ? ?????? while ( !recordset.IsEOF() ) ?????? { ????????????? TAG_PRODUCTINFO tagProductInfo; ????????????? // ID ????????????? recordset.GetFieldValue( _T( ID ), var ); ????????????? tagProductInfo.nProductID = var.m_iVal; ????????????? // Name ????????????? recordset.GetFieldValue( _T( Name ), tagProductInfo.strProductName ); ? ????????????? m_vecProductInfo.push_back( tagProductInfo ); ????????????? ????????????? recordset.MoveNext(); ?????? } ? ?????? recordset.Close(); ? 2.????? ADO技术 ActiveX Data Object, ActiveX数据对象。 ADO建立在OLE DB之上,采用ADO技术访问数据库的话,实际的调用过程是:ADO客户程序通过ADO再访问OLE DB提供的程序,这样访问速度就要慢一些。 如果某个关系型数据库没有OLE DB的提供程序,那么可以利用ODBC的OLE DB提供程序去访问ODBC,然后利用ODBC再去访问支持ODBC的数据库。 2.1????????????? 条件 l???????? 头文件和动态库的加载 #include comdef.h #include atlbase.h #pragma ??warning(disable:4146)? #import?? C:\Program Files\Common Files\System\ado\msado15.dll?? named_guids?? rename(EOF,adoEOF),?? rename(BOF,adoBOF)? #pragma?? warning(default:4146)? using?? namespace?? ADODB; l???????? COM组件的加载 ?????? if ( CoInitialize( NULL ) != 0 ) ?????? { ????????????? AfxMessageBox( _T( 初始化Com库失败!
显示全部
相似文档