2013-03-27 92 views
0

我有一個返回輸出的存儲過程。存儲過程中的輸出參數定義如下:檢索存儲過程的輸出參數的值

@Success int output 

我正在使用以下語句從輸出參數中檢索值。我收到錯誤消息

「指定的轉換無效」

我使用Visual Studio 2012

int returnVal = (int)myCOmmand.Parameters["@Success"].Value; 

能否請您讓我知道可能是什麼問題?並提供解決方案。

感謝您的協助。 雅格亞

回答

1

我創建了一個參數,從執行,像這樣(o_id是參數名)後獲得的價值:

IDbDataParameter o_id = cmd.CreateParameter(); 
o_id.ParameterName = "?o_id"; 
o_id.DbType = DbType.Int32; 
o_id.Direction = ParameterDirection.Output; 
cmd.Parameters.Add(o_id); 

// Call the Stored Procedure 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.CommandText "= MyStoredProcedure"; 

db.ExecuteNonQuery(cmd); 
int o_idValue = int.Parse(o_id.Value.ToString()); 

在這種情況下,db是一個數據庫層,它執行我的IDbCommand

可能你可以用int.Parse()(或更好的,int.TryParse()