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 ();
//输入和输出都存在的
创建存储过程
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 ();
相关文章推荐
- QT 窗口设置可拉伸背景图
- Qt学习(12)
- QT生成的exe自动拷贝依赖的dll并打包的方法
- Qt防止程序多开
- (ros/qt报错) FATAL: ROS_MASTER_URI is not defined in the environment
- qt 开发ios应用
- QT qthread详解
- qtp常用方法
- Qt下载地址
- 用Qt获取本机IP
- QFileDialog、QColorDialog中英文提示信息翻译方法
- Qt之QThread详解
- qt中qmake与ros结合
- QT环境问题
- Qt写的文件拆分和融合小工具
- vs2013中配置Qt的方法以及使用感受。
- qt 5.5.1 连接 mysql 5.7.9
- Qt学习之路(10):自定义事件与事件控制的5大层次
- Qt SDK的x64与x86版本以及与VS的配合
- Qt多线程编程