2

QsqlQuery を使用して、入力パラメーターと 2 つの出力パラメーターを使用する oracle ストアド プロシージャを呼び出しています プロシージャは完全に実行されましたが、出力パラメーターにはデータが含まれていません

QSqlQuery movementQuery ;
movementQuery.prepare("call Qt.add_movement(:pDocumentType , :pDocumentId ,       
to_date(sysdate,'dd-mm-yyyy') ,:pDocumentNumber"
",to_date(sysdate,'dd-mm-yyyy') , :pCustId ,:pMovementId ,:pReturn )");
movementQuery.bindValue(":pDocumentType",documentType);
movementQuery.bindValue(":pDocumentId",documentId);
movementQuery.bindValue(":pDocumentNumber",0);
movementQuery.bindValue(":pCustId",ui->custId->text());
movementQuery.bindValue(":pMovementId", 0, QSql::Out);
movementQuery.bindValue(":pReturn", "FALSE", QSql::Out);
movementQuery.exec();
 //// The query executed the query is active and no errors are valid
//// message is method to display the value
message(query.boundValue(":pReturn").toString());
message(query.boundValue(5).toString());
message(query.boundValue(":pMovementId").toString());
message(query.boundValue(4).toString());

ご興味をお持ちいただきありがとうございます

4

1 に答える 1

1

あなたは実行していますmovementQuery

movementQuery.exec();

のバインドされた値を返していますquery

message(query.boundValue(":pReturn").toString());
于 2012-12-17T15:52:41.897 に答える