How get value from out parameter?
Posted: Wed 21 May 2008 04:04
Dear Support Team,
I have the following stored procedure and would like to create parameters on run time.
My questions are:
1. Should I set sp->ParamCheck = false?
2. I need to get Result which is one of the OUT parameters in stored procedure SP_UpdatePassword, is my existing way to get Result is correct?
Simplified Stored procedure:
I am using mydac 5.20.0.12 and c++ builder 6.0.
Thanks.
I have the following stored procedure and would like to create parameters on run time.
Code: Select all
TMyStoredProc *sp = new TMyStoredProc(NULL);
sp->ParamCheck = true;
sp->StoredProcName = "SP_UpdatePassword";
sp->Params->Clear();
TParam *prmUsername = sp->Params->CreateParam(ftString, "Username", ptInput);
TParam *prmNewPassword = sp->Params->CreateParam(ftString, "NewPassword", ptInput);
prmUsername->AsString = szUsername;
prmNewPassword->AsString = szNewPassword;
if(this->dbConn->ExecSP(sp)){
iResult = sp->Params->ParamByName("Result")->AsInteger;
}
sp->Close();
SAFE_DEL(sp);
return iResult;1. Should I set sp->ParamCheck = false?
2. I need to get Result which is one of the OUT parameters in stored procedure SP_UpdatePassword, is my existing way to get Result is correct?
Simplified Stored procedure:
Code: Select all
CREATE PROCEDURE `SP_UpdatePassword`(IN Username VARCHAR(256), IN NewPassword VARCHAR(256), OUT Result TINYINT(3))
BEGIN
DECLARE MailboxID INT;
SELECT cm_id INTO MailboxID FROM crewmail_mailbox WHERE cm_username = Username;
UPDATE crewmail_mailbox SET cm_password = NewPassword
WHERE cm_id = MailboxID;
SET Result = 3;
END;Thanks.