表 mydb.mytable

--------------------------------------------------------

|  sid(BIGINT)   |   Name(VARCHAR(50))  |

--------------------------------------------------------

【存储过程1】通过参数返回一条数据

CREATE DEFINER=`root`@`%` PROCEDURE `Query`(IN `skey` VARCHAR(50), OUT `oid` BIGINT, OUT `oname` VARCHAR(50))

LANGUAGE SQL

NOT DETERMINISTIC

CONTAINS SQL

SQL SECURITY DEFINER

COMMENT ''

BEGIN

select sid, Name into oid, oname from mydb.mytable where Name=skey limit 0,1;

END

Connector c++调用

Driver *pDriver = mysql::get_mysql_driver_instance();

try

{

auto_ptr pConnection(pDriver->connect("tcp://127.0.0.1:3306", "root", "123456"));

auto_ptrprepQuery(pConnection->prepareStatement(

"call searchserver.query(?, @sid, @sname)" ));

prepQuery->setString(1, "ABC");

prepQuery->execute();

auto_ptrprepSelect(pConnection->prepareStatement(

"select @sid as sid, @sname as sname"));

auto_ptrlpRes(prepSelect->executeQuery());

int nRows = lpRes->rowsCount();

while(lpRes->next())

{

uint64_t ID = lpRes->getUInt64(1);

string strName = lpRes->getString(2);

}

}

catch (SQLException& e)

{

string str = e.what();

return;

}

【存储过程2】默认返回记录集

CREATE DEFINER=`root`@`%` PROCEDURE `Query`(IN `skey` VARCHAR(50))

LANGUAGE SQL

NOT DETERMINISTIC

CONTAINS SQL

SQL SECURITY DEFINER

COMMENT ''

BEGIN

select sid, Name from mydb.mytable where Name like skey;

END

Connector c++调用

Driver *pDriver = mysql::get_mysql_driver_instance();

try

{

auto_ptr pConnection(pDriver->connect("tcp://127.0.0.1:3306", "root", "123456"));

auto_ptrprepQuery(pConnection->prepareStatement("call mydb.query(?)" ));

prepQuery->setString(1, "A%");

auto_ptrlpRes(prepQuery->executeQuery());

int nRows = lpRes->rowsCount();

while(lpRes->next())

{

uint64_t ID = lpRes->getUInt64(1);

string strName = lpRes->getString(2);

}

}

catch (SQLException& e)

{

string str = e.what();

return;

}

参考:http://www.2cto.com/kf/201108/100908.html

mysql connector/c++ 存储过程的调用_MySQL Connector C++ 调用存储过程相关推荐

  1. mysql 视图会走索引吗_MySQL视图索引与存储过程精析-阿里云开发者社区

    1.MySQL分页查询 1.1 limit函数: SELECT * FROM emp LIMIT 3 –只查询三条数据,其他忽略 1.2 select * from emp order by empn ...

  2. mysql存储过程重命名_MySQL数据库重命名存储过程

    MySQL不支持将整个数据库(db schema)重命名,我们可以通过自己写一个存储过程来实现. 实现思路: 1)创建目标数据库. 2)执行命令:rename table 原库.表 to 目标库.表, ...

  3. mysql 存储过程 定义数组_MySql存储过程

    Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句 2.之前的sql没有条件判断,没有循环 3.存储过程带上流程控制语句(if while) 2 存储过程特点 1)执行效 ...

  4. mysql 过程和函数 变量的值_MySQL数据库提升篇-----存储过程和函数

    day06 MySQL数据库存储过程和函数 一.存储过程和函数的概述: 数据库的存储过程和存储函数是指在数据库中定义的一些sql语句的集合,直接调用这些存储过程的名字或存储函数的名字就可以直接使用这些 ...

  5. mysql的存储过程与事务_mysql的存储过程与事务入门

    存储过程是: 通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译.主要 ...

  6. 介绍一下mysql的存储过程和搜索引擎_MySQL基础(四)—存储过程和存储引擎

    上一篇 MySQL基础(三)-函数.自定义函数 这一篇是对存储过程和存储引擎的笔记,其中操作的数据库在上一篇文章中有代码,可以去看一下. 1.存储过程 存储过程是SQL语句和控制语句的预编译集合,以一 ...

  7. mysql存储过程 简书_MySQL存储过程

    在本节中,您将逐步学习如何在MySQL中编写和开发存储过程. 首先,我们向您介绍存储过程的概念,并讨论何时使用它. 然后,展示如何使用过程代码的基本元素,如创建存储过程的语句,if-else,case ...

  8. mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据

    1.存储过程代码 delimiter $$ DROP PROCEDURE IF EXISTS create_service_data$$ create procedure create_service ...

  9. MySQL存储过程分支语句_mysql 高级语句--存储过程(PROCEDURE)

    mysql 高级语句 一.存储过程 1.什么是存储过程: 就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能. ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的, ...

  10. mysql存储过程list参数_mysql存储过程教程(1)

    MySQL存储过程 1.1         CREATE  PROCEDURE  (创建) CREATE PROCEDURE存储过程名(参数列表) BEGIN SQL语句代码块 END 注意: 由括号 ...

最新文章

  1. 反思深度学习与传统计算机视觉的关系
  2. python获取文本光标_python 文件的操作以及调整光标
  3. 802.11N blockACK
  4. 用Python做垃圾分类
  5. 在webclient UI page里嵌入external view
  6. C++ STL中set底层实现方式
  7. java实现文件上传(使用FromData)
  8. 媒体查询Media Query
  9. 前端把cookie写在父域里_单点登录的三种实现方式
  10. pkpm板按弹性计算还是塑性_用PKPM计算楼板配筋是用弹性算法还是塑性算法呢?...
  11. 扬州大学matlab课程设计报告,自动控制原理课程设计报告
  12. Render to Texture
  13. 回撤率 python_最大回撤和最大回撤率的区别?
  14. java 闭锁_从火箭发场景来学习Java多线程并发闭锁对象
  15. Java基础知识(七)
  16. 大数据毕业设计 协同过滤商品推荐系统设计与实现
  17. you-get:使用命令行工具下载网络资源,可下载 B 站视频
  18. 2022年同花顺Java面试
  19. 云计算中Region、AZ、POD的三角关系
  20. 如何调节音频音量大小?

热门文章

  1. 读xml文件时字体串类型的判断
  2. 黑马程序员 Python学习笔记之 算数运算符
  3. Atitit nlp自然语言处理类库(java python nodejs c#net) 目录 1.1. Python snownlp 1 1.2. NLP.js一个nodejs/javascri
  4. Atitit 物联网之道 艾龙著 attilax著 1. 理论基础(控制理论 信息理论) 2 2. 1.5 物联网的关键技术12 2 2.1. 1.5.1 网络与通信技术12 1.5.2 无线传感
  5. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
  6. paip.mysql error2003 Can''t connect to MySQL server on localhost (10061)的解决
  7. Julia :PyPlot库安装中需注意的问题
  8. 常用内存数据库介绍(一)
  9. 迎建国七十周年,Linux厂商巡礼之优麒麟
  10. c语言中数字符的知识点,2019年全国计算机二级C语言必背知识点总结