如何在亚音速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. 在经典的asp中执行存储过程并返回值
- 4. 如何返回值1存储过程
- 5. 返回存储过程值
- 6. 如何为查询返回的每一行执行一次存储过程?
- 7. 执行另一个存储过程的存储过程
- 8. 如何处理两个存储过程,一个返回单个值而另一个返回行?
- 9. 选择存储过程的返回值
- 10. 如果SQL存储过程正常运行,如何让SAS返回一个值?
- 11. 如何使用DataContext.ExecuteCommand并获取执行的存储过程返回值?
- 12. 如何在FluentNHibernate Mapping中执行并返回存储过程的值?
- 13. 存储过程返回一个int
- 14. 我的存储过程的返回值
- 15. 在另一个存储过程中未执行存储过程
- 16. 使存储过程返回一个VarChar
- 17. 存储过程返回选定的值
- 18. Subsonic 3 - 将空值传递给存储过程参数
- 19. 从另一个执行存储过程,并返回两个变量
- 20. 实体框架:如何运行存储过程并返回值?
- 21. 返回特定行的存储过程
- 22. 需要存储过程的返回值
- 23. 存储过程中的返回值MYSQL
- 24. 存储过程返回错误的值
- 25. 存储过程的返回值
- 26. 如果从VBA执行,存储过程不返回数据
- 27. 从C#中的存储过程,需要一个返回值
- 28. 如何从存储过程返回XML?
- 29. 如何从Oracle获得两个返回值存储过程
- 30. 存储过程 - 插入后如何返回多个值