QT 获取MYSQL存储过程的OUT值
MYSQL 的存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `testInsertBack` $$
CREATE PROCEDURE testInsertBack(IN serial VARCHAR(20), IN vin VARCHAR(20), OUT oid int)
BEGIN
INSERT INTO car (serial, vin) VALUES (serial, vin);
SELECT last_insert_id() INTO oid ;
END$$
DELIMITER ;
Qt代码
QSqlQuery q();
q.prepare("call testInsertBack (?, ?, @outval)");
q.bindValue(0,"serial");
q.bindValue(1,"vin");
//执行以上存储过程
q.exec();
//帮助手册中说明返回值是当前连接的变量,不会受其他主机影响
q.exec("select @outval");
q.next();