您的位置:首页 > 其它

otl 调用存储过程的坑

2014-06-26 16:47 148 查看
今天用otl调用存储过程,一下是错误的写法

char *szsql2 = "begin procedure_normal(:a<double, in>,:b<char[1024], inout>);end;";

cout<<szsql<<endl;

cout<<szsql2<<endl;

//调用存储过程第一个参数为1

otl_stream o(1,szsql2,g_db);

double nPara1=999;

char szPara2[1024] = {0};

//顺序给输入参数赋值(从左到右)

o<<nPara1<<szPara2;

//顺序取出输出参数(从左到右)

o>>szPara2;

printf("P1=%f\nP2=%s\n",nPara1,szPara2);

printf("szPara2.Length=%d\n",strlen(szPara2));

咋一看好像没问题,实际上代码是错的原因是szsql2中的in、inout不能和前面的有空格
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: