我有以下幾個很基本的存儲過程:返回值從存儲過程沒有設置
CREATE PROCEDURE [DBO] [GetNumberToProcess]
AS
RETURN 999
然後我有一些代碼使用企業庫運行並得到返回值:
Dim cmd As DbCommand
Dim ResultValue as String
Dim lDBCommand as String = "dbo.GetNumberToProcess"
Dim actionDB As Sql.SqlDatabase = New Sql.SqlDatabase(lConnectionString)
cmd = actionDB.GetSqlStringCommand(lDBCommand)
Dim SQLreturnValue As New SqlParameter("RETURN_VALUE", DbType.Int32)
SQLreturnValue.Direction = ParameterDirection.ReturnValue
cmd.Parameters.Add(SQLreturnValue)
' Execute the command and put the result into the ResultValue for later processing
actionDB.ExecuteNonQuery(cmd).ToString()
ResultValue = cmd.Parameters("RETURN_VALUE").Value.ToString
問題是,當我得到「999」(存儲過程非常簡單,以至於我可以深入瞭解爲什麼它不工作)時,我得到的所有ResultValue都是「0」。
根據我在網上看到的多個例子,這應該工作。
任何人有任何建議,爲什麼它不?
這有用,你知道爲什麼嗎?我懷疑GetSQLStringCommand沒有通過返回值。 – 2009-06-14 23:47:06