Hi,
Iam having a stored procedure (oracle) that has one output parameter of array (TABLE OF) type.
When i call the stored procedure from Qt using QSqlQuery::execBatch function with QSqlQuery::ValuesAsColumns as argument, execution succeded but i didn't get the output.
Stored procedure
-----------------------
CREATE TYPE NUM_ARRAY IS TABLE OF NUMBER;
CREATE OR REPLACE PROCEDURE GET_EMP_IDS(X OUT NUM_ARRAY) AS
BEGIN
X := NUM_ARRAY();
X.EXTEND();
X.EXTEND();
X.EXTEND();
X(1) := 54;
X(2) := 55;
X(3) := 56;
END;
Qt Code
------------
QSqlQuery query(db);
query.setForwardOnly(true);
query.prepare("call GET_EMP_IDS(?);");
query.bindValue(0, 0, QSql::Out);
if(!query.execBatch(QSqlQuery::ValuesAsColumns))
return -1;
QVariant var = query.boundValue(0);
QVariant::Type type = var.type();
QList<QVariant> list = var.toList();
int size = list.size();
Type of QVariant returned is int instead of List.
Please help me on this issue.
Regards,
G.Suresh Babu
Bookmarks