您的位置:首页 > 编程语言 > Qt开发

Qt调用存储过程

2015-12-24 19:06 330 查看
//说明:对于有返回值的,传入参数必须赋值,也对于QString 不能为空

//输入和输出都存在的
创建存储过程
CREATE OR REPLACE

PROCEDURE "MYTEST4" (str IN NUMBER,ostr OUT VARCHAR2)
AS
BEGIN
-- routine body goes here, e.g.
-- DBMS_OUTPUT.PUT_LINE('Navicat for Oracle');
--SELECT "ID" INTO str from TEST1 ;
SELECT "NAME" INTO ostr from TEST1 where id=str;
END;

QString sql = QString("call MYTEST4(:id)");
QSqlQuery qureyxd(oraclejy);
qureyxd.prepare(sql);
//说明:对于有返回值的,传入参数必须赋值,也对于QString 不能为空
int p = 2;
QString ppppp = "xx";
//qureyxd.addBindValue(1,QSql::In);
//qureyxd.addBindValue("P",QSql::Out);
qureyxd.bindValue(":id",p,QSql::In);
qureyxd.bindValue(":name",ppppp,QSql::Out);
qureyxd.exec();
//返回值在下面的map中,其中的key是sql 中placeholder参数的值 如 : :id

QMap<QString, QVariant> tmp = qureyxd.boundValues ();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: