最近与同事合作,他提供给我一个存储过程,让我调用,得到结果集。一开始对C++对数据库进行操作的经验仅限于对mysql进行的一些select、insert等等简单操作,没有用过存储过程。
如果你和我情况一样,那么这篇文章很适合你。
关于下载编译ocilib库,网上资源教程很多,这里只讲执行存储过程的情况。
不管是mysql还是oracle,在C++中对其操作都是简单几步:首先写好命令字符串,然后调用语句执行,然后调用语句获取结果集。
对于执行存储过程,也是如此。
只是执行存储过程时,需要输入参数。更变态的是我同事让我输入的不是int, 不是string,而是游标,而且结果就放在游标里......WTF???游标参数我怎么写啊?!
然后我看到网上一篇介绍ocilib的文章,链接在这里:这篇文章也许对你很有用
文章介绍了一些ocilib的接口,算是比较详细了,但要满足我的需求又不够详细。。但是对于优秀的程序猿来说这已经够了好吗!
于是我看ocilib.h文件,里面注释很多,打开有道翻译,ctrl+f,输入cursor,只要是和存储过程以及游标有关的都翻译一遍,看到一半的时候通过对注释的理解以及实验,最终得到了方法。附上代码:
(我去,代码搬到一半网页崩溃了。。。还好截了个图,看官们将就一下吧,我是从我的项目里面提取出来的= =)