设为首页 加入收藏

TOP

VC6ADO连接Access2000、Access2003
2014-11-23 21:30:11 】 浏览:495
Tags:VC6ADO 连接 Access2000 Access2003
By 闲鸟归来 , Posted in 死亡笔记
01 /*linkAccess.mdb里有字段coderType*/
02 /*在对应头文件+入一句:*/
03 #import "c:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF", "adoEOF")
04
05 /*如下为具体ADO连接Access与查询语句执行*/
06 // 建立连接对象、记录集、Command对象
07 _ConnectionPtr cnn; // _ConnectionPtr cnn(__uuidof(Connection));
08 _RecordsetPtr rst; // _RecordsetPtr rst(__uuidof(Recordset));
09 _CommandPtr cmd; // _CommandPtr cmd(__uuidof(Command));
10
11 CoInitialize(NULL); // 初始化COM环境; AfxOleInit(); 也一样效果
12 cnn.CreateInstance(__uuidof(Connection)); // 建立连接对象
13 try
14 {
15 // 打开本地Access库linkAccess.mdb
16 cnn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=linkAccess.mdb","","",adModeUnknown);
17 }
18 catch(_com_error e)
19 {
20 AfxMessageBox(" 数据库连接失败,确认数据库linkAccess.mdb是否在当前路径下!");
21 return FALSE;
22 }
23
24 rst.CreateInstance(__uuidof(Recordset)); // 建立记录集
25 _variant_t var;
26 CString str;
27
28 rst->Open("select * from codeInfo", cnn.GetInterfacePtr(), /*获取库接库的IDispatch指针*/, adOpenDynamic, adLockOptimistic, adCmdText);
29
30 while ( !rst->adoEOF )
31 {
32 var = rst->GetCollect("coderType");
33 if ( var.vt != VT_NULL )
34 str = (LPCSTR)_bstr_t(var);
35 m_AccessList.AddString(str); // 插入记录
36 rst->MoveNext(); // 下一记录
37 }
38
39 CoUninitialize(); // 卸载COM环境库
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇VC.NET不带纯真数据库版的显IP物.. 下一篇判定VC6安装了SP6

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目