博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ADO ODBC操作MySQL 控制台小例
阅读量:6172 次
发布时间:2019-06-21

本文共 1980 字,大约阅读时间需要 6 分钟。

hot3.png

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")

#include<iostream>
#include<string>
#include<objbase.h>

typedef std::string string;

int main(int argc, char** argv)

{
 ::CoInitialize(NULL);//初始化OLE/COM库环境
 try
 {
  //创建Connection对象 连接数据库
  _ConnectionPtr pConnection = NULL;
  pConnection.CreateInstance("ADODB.Connection");
  pConnection->Open("DSN=MSSTD; Server = localhost; Database=std", "root", "root", adModeUnknown);

  //创建记录集对象

  _RecordsetPtr pRecordset = NULL;
  pRecordset.CreateInstance(__uuidof(Recordset));
  //取得表中的记录
  _bstr_t bstrSQL = "select * from regist";
  pRecordset->Open(bstrSQL, pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic,adCmdText);
  if(!pRecordset->adoBOF)//The BOF property returns True (-1) if the current record position is before the first record in the Recordset, otherwise it returns False (0).
  {
   pRecordset->MoveFirst();
  }

  _variant_t RecordValue;

  while(!pRecordset->adoEOF)//The EOF property returns True (-1) if the current record position is after the last record in the Recordset, otherwise it returns False (0).

  {
   string str;
   RecordValue  = pRecordset->GetFields()->GetItem("username")->Value;
   _bstr_t tempbstr= static_cast<_bstr_t>(RecordValue);
   str = static_cast<std::string>(tempbstr);
   std::cout<<str<<"\t";

   RecordValue  = pRecordset->GetFields()->GetItem("password")->Value;

   tempbstr= static_cast<_bstr_t>(RecordValue);
   str = static_cast<std::string>(tempbstr);
   std::cout<<str<<"\t";
   std::cout<<std::endl;
   pRecordset->MoveNext();
  }
  //执行MySQL语句
  _bstr_t sql = "insert into regist(username, password) values('222','222')";
  pConnection->Execute(sql,NULL,adCmdText);

  pRecordset->Close();

  pConnection->Close();
  pRecordset = NULL;
  pConnection = NULL;
  //释放
  ::CoUninitialize();
 }
 catch(_com_error e)
 {
  std::cout<<e.Description()<<std::endl;
 }

 system("pause");

 return 0;
}

PS:

需要msado15.tlh 文件 放在 可执行程序同一目录下

另外使用前需要配置MySQL的ODBC驱动

转载于:https://my.oschina.net/templateCplus/blog/62588

你可能感兴趣的文章
Ubuntu 18.04.1 LTS下部署FastDFS 5.11+Nginx 1.14.0
查看>>
PHP 运行方式(PHP SAPI介绍)
查看>>
puppet学习之puppet证书验证
查看>>
Server 2008 R2 AD RMS完整部署:四、客户端篇
查看>>
Alcatel-Lucent 7750 运营商认证设备在线用户数OID
查看>>
靠自己。linux manul手册入门
查看>>
思科设备中查询筛选的命令精华
查看>>
大数据未来将呈现的八大发展趋势
查看>>
cm 升级
查看>>
创建数据库快照并恢复数据
查看>>
我的友情链接
查看>>
APP抓包——Fiddler工具
查看>>
java 图片处理
查看>>
博主制作的开源JAVA WEB游戏-《天命.罗生门》
查看>>
Windows软链脚本
查看>>
IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)
查看>>
足球赛事球员信息api
查看>>
那些年我们经历过的运维
查看>>
安装带有调试信息的C库
查看>>
迷宫的基本实现
查看>>