C# 是否可以使用dataBase.ExecuteOnQuery并使用存储过程的返回值?
我做了一些研究,发现了一些关于如何使用存储过程返回值的想法,如:C# 是否可以使用dataBase.ExecuteOnQuery并使用存储过程的返回值?,c#,enterprise-library-5,C#,Enterprise Library 5,我做了一些研究,发现了一些关于如何使用存储过程返回值的想法,如: using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = parameterStatement.getQuery(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("SeqName", "SeqNameValue");
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = parameterStatement.getQuery();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("SeqName", "SeqNameValue");
var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
returnParameter.Direction = ParameterDirection.ReturnValue;
conn.Open();
cmd.ExecuteNonQuery();
var result = returnParameter.Value;
}
但我用的是这样的东西:
Database.AddInParameter();
在这里,我不必打开和关闭连接
是否有人能帮助我理解是否可以使用Direction.Returnvalue数据库方法
抱歉,有一个没有条理的问题:)如果有任何不清楚的地方,请随时询问。使用database.outParameter作为返回值的参数。关于
cmd.ExecuteScalar()
?我不知道你要什么。您是否特别想使用返回参数或du?您只想从proc访问返回值?我只想从我的proc访问返回值。。如果符合我的要求,请让我检查cmd.ExecuteScalar。。提前谢谢@Patrik Eckebrecht 1感谢您的评论。实际上,我想用EnterpriseLibrary.Data.Database对象来执行非查询方法,而不是命令。执行代码是预先编写的,我不想改变它,非常好。不太清楚。为了让其他人更好地理解,我可能会重新措辞。我有点匆忙,所以无法以更好的方式格式化和表达我的问题:)但我得到了一个非常适合我的解决方案,我使用了DataBase.outParameter。。