如何在亞音速3.0中執行返回值的存儲過程?例如,我的許多存儲過程返回@@標識,我無法弄清楚如何在不查詢表的情況下訪問該值。同樣,不是輸出參數,而是返回值。Subsonic 3 - 你如何執行一個返回值的存儲過程?
3
A
回答
5
StoredProcedure sproc = db.FancySchmancySproc();
sproc.Execute();
int output = (int)sproc.Output; // returns type 'object' so you'll need to cast
0
這就是我的想法,但sproc.output始終爲空。我不知道是否有在最新的版本中的錯誤3.0.0.3
1
StoredProcedure sp = SPs.TestProcedure(0);
sp.Command.AddReturnParameter();
object retValue = sp.Command.Parameters.Find(delegate(QueryParameter p)
{
return p.Mode == ParameterDirection.ReturnValue;
}).ParameterValue;
if (retValue!=null)
{
// cast the value to the type expected
int rc = (int) retValue;
}
0
StoredProcedure sproc = db.FancySchmancySproc();
sproc.ExecuteDataSet();
1
這個工作對我來說:
StoredProcedure sproc = db.FancySchmancySproc();
sproc.ExecuteScalar<int>();
1
好吧......我是有什麼約翰·希恩說工作,突然它剛剛開始給我一個例外。
我只是用以下SP進行測試。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE TestLocal
@a數字(18,0) AS
BEGIN
SET NOCOUNT ON;
返回10
END
GO
和我的在C#代碼是下面
StoredProcedure的SP =新DB()。TestLocal(1) ;
sp.Execute();
int timeLeft =(int)sp.Output;
return timeLeft;
編輯1:
我把它做以下工作,但我不認爲這是應該做的正確方法。
StoredProcedure sp = new DB()。TestLocal(1);
sp.Command.AddReturnParameter();
sp.Execute();
int myReturnValue =(int)sp.Command。OutputValues [0];
return myReturnValue;
1
我一直在使用ActiveRecord運行存儲過程,像這樣;
// Connect to DB and run the stored proc into a dataset
myDatabasedb db = new myDatabasedb();
DataSet ds = db.myStoredProc(firstparam, secondparam, etc);
// Now you can do what you like with the dataset!
Gridview1.datasource = ds.executeDataSet();
相關問題
- 1. 每行返回執行存儲過程?
- 2. 如何返回值的存儲過程
- 3. 存儲過程返回值
- 4. 在經典的asp中執行存儲過程並返回值
- 5. 如何返回值1存儲過程
- 6. 返回存儲過程值
- 7. 如何爲查詢返回的每一行執行一次存儲過程?
- 8. 如何返回SqlCommand存儲過程執行的語法?
- 9. 從存儲過程返回多個值
- 10. 執行另一個存儲過程的存儲過程
- 11. 從另一個存儲過程中捕獲存儲過程的返回值
- 12. 返回值Oracle.DataAccess執行非查詢(存儲過程)
- 13. SQL:如何執行返回列是「IN」參數的值的存儲過程?
- 14. 執行不使用SqlDataAdapter.Fill()返回多個表的存儲過程?
- 15. 如何處理兩個存儲過程,一個返回單個值而另一個返回行?
- 16. 選擇存儲過程的返回值
- 17. 如果SQL存儲過程正常運行,如何讓SAS返回一個值?
- 18. 如何在FluentNHibernate Mapping中執行並返回存儲過程的值?
- 19. 如何使用DataContext.ExecuteCommand並獲取執行的存儲過程返回值?
- 20. 存儲過程返回一個int
- 21. Subsonic 3 - 將空值傳遞給存儲過程參數
- 22. 我的存儲過程的返回值
- 23. 在另一個存儲過程中未執行存儲過程
- 24. 使存儲過程返回一個VarChar
- 25. 存儲過程返回選定的值
- 26. 如何使用返回值參數執行Entity Framework SQLQuery存儲過程?
- 27. 從另一個執行存儲過程,並返回兩個變量
- 28. 實體框架:如何運行存儲過程並返回值?
- 29. 返回特定行的存儲過程
- 30. 存儲過程返回錯誤的值?