ich versuche eine Stored Procedure einer Oracle Datenbank aufzurufen, in der der Rückgabewert vom Typ VARCHAR2 ist.
Die Procedure gibt einen VARCHAR2 mit einer vierstelligen Nummer zurück (z.B. sollte wenn die zu benutzenden Nummer < 1000 ist der VARCHAR2 '0900' zurückkommen).
Wenn ich die Procedure im Sql+ manuell aufrufe (Declare,Begin,End) funktioniert das auch wunderbar.
Wenn ich nun aber über QSqlQuery gehe:
Code: Alles auswählen
QString qstrSqlStatement= "CALL myProcedureName(?,?,?,?)";
query.prepare( qstrSqlStatement );
query.bindValue( 0, m_qstrIdentifier );
query.bindValue( 1, iNumberBlockMin );
query.bindValue( 2, iNumberBlockMax );
query.bindValue( 3, 0, QSql::Out );
if ( query.exec() )
{
QVariant var = query.boundValue( 3 );
resultString = var.toString();
}
Gibt es vielelicht eine Möglichkeit beim query.bindValue den Typ eines QSql::Out Parameters anzugeben?
Hat sonst jemand einen Hinweis?
Vielen Dank
Korgen
P.S.: Qt = 4.3.1
WinXP SP2