游戏技术文章

解决小问题--VC2008通过ADO连接ACCESS

时间:2016-12-18 16:28:02  作者:棋牌资源网  来源:棋牌资源网  查看:7802  评论:0
内容摘要:总结如下:1、在导入ADO库时,在stdafx.h的最后插入语句:#import "c:\program files\common files\system\ado\msado15.dll" named_guids rename_namespace("...
总结如下:

1、在导入ADO库时,在stdafx.h的最后插入语句:

#import "c:\program files\common files\system\ado\msado15.dll" named_guids rename_namespace("ADOCG") rename("EOF", "EndOfFile") rename("BOF","FirstOfFile") 
using namespace ADOCG; 
#include "icrsint.h"

2、数据库连接字符串最好使用绝对路径

strCon.Format(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s",L"D:\\VCplusProject\\CommodityDB.mdb");

3、SQL语句中的字段注意不能跟系统保留字冲突,最好都加上中括号,如

pRst=pConn->Execute("select * from [Table]",NULL,adCmdText);

    如果Table没有中括号就会报错

4、获取RecordSet中数据时,要保证列名正确,否则编译没问题,但是运行会报错,如

((CListBox*)GetDlgItem(IDC_LIST1))->InsertString(-1,(_bstr_t)pRst->Fields->GetItem(L"Commoditys")->Value);

    我就是因为Commoditys写成了Commodity,找错误找的快抓狂了。

5、完整连接代码如下

//操作数据库 
CoInitialize(NULL); 
_ConnectionPtr pConn(__uuidof(Connection)); 
_RecordsetPtr pRst(__uuidof(Recordset)); 
_CommandPtr pCmd(__uuidof(Command));

CString strCon;

strCon.Format(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s",L"D:\\VCplusProject\\CommodityDB.mdb");

pConn->ConnectionString=_bstr_t(strCon); 
pConn->Open("","","",adModeUnknown);

pRst=pConn->Execute("select * from [Table]",NULL,adCmdText);

while(!pRst->EndOfFile) 

    ((CListBox*)GetDlgItem(IDC_LIST1))->InsertString(-1,(_bstr_t)pRst->Fields->GetItem(L"Commoditys")->Value); 
    pRst->MoveNext(); 
}

pRst->Close(); 
pConn->Close(); 
pCmd.Release(); 
pRst.Release(); 
pConn.Release(); 
CoUninitialize();

6、如果只做插入操作,则更简单一些,代码如下

 


  1. CoInitialize(NULL); 
  2.     _ConnectionPtr pConn(__uuidof(Connection)); 
  3.     _RecordsetPtr pRst(__uuidof(Recordset)); 
  4.     _CommandPtr pCmd(__uuidof(Command)); 
  5.  
  6.  
  7.     CString strCon; 
  8.      
  9.     strCon.Format(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s",L"D:\\VCplusProject\\CommodityDB.mdb"); 
  10.  
  11.     pConn->ConnectionString=_bstr_t(strCon); 
  12.     pConn->Open("","","",adModeUnknown); 
  13.      
  14.     CString strInsert; 
  15.     strInsert.Format(L"INSERT INTO [Table](Commoditys) VALUES ('%s')",strRandItems); 
  16.  
  17.     _variant_t RecordsAffected; 
  18.  
  19.     pConn->Execute(_bstr_t(strInsert),&RecordsAffected,adCmdText); 
  20.      
  21.  
  22.     pConn->Close(); 
  23.     pCmd.Release(); 
  24.     pConn.Release(); 
  25.     CoUninitialize(); 
标签:解决小问题--VC2008通过ADO连接ACCESS 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2024 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved