//说明:对于有返回值的,传入参数必须赋值,也对于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 ();