Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 从存储过程返回数据并在代码隐藏中使用,无输出或输出参数_Sql Server 2008_C# 4.0_Stored Procedures - Fatal编程技术网

Sql server 2008 从存储过程返回数据并在代码隐藏中使用,无输出或输出参数

Sql server 2008 从存储过程返回数据并在代码隐藏中使用,无输出或输出参数,sql-server-2008,c#-4.0,stored-procedures,Sql Server 2008,C# 4.0,Stored Procedures,是否有其他方法可以在不使用Out参数的情况下从存储过程中以代码形式返回数据 例如:- Create PROCEDURE [dbo].[MaxSalary] @Msalary money OUTPUT AS SET NOCOUNT ON; SELECT @Msalary = max(salary) FROM tblSalary ; GO 在代码隐藏中,通过使用SqlParameter我们可以像 SqlParameter outPutParameter = new SqlPar

是否有其他方法可以在不使用Out参数的情况下从存储过程中以代码形式返回数据

例如:-

Create PROCEDURE [dbo].[MaxSalary]
@Msalary money OUTPUT
AS  
SET NOCOUNT ON;
    SELECT @Msalary = max(salary)
    FROM tblSalary ;
GO
在代码隐藏中,通过使用
SqlParameter
我们可以像

SqlParameter outPutParameter = new SqlParameter();
outPutParameter.ParameterName = "@Msalary";
outPutParameter.SqlDbType = System.Data.SqlDbType.Money;
outPutParameter.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(outPutParameter);
double maxsal = Convert.ToDouble(outPutParameter.Value);
我们也可以使用Return,但它不会返回代码中的数据。现在我的问题是,我们如何在不使用输出参数的情况下获得相同的结果

希望你能理解。 提前谢谢

Create PROCEDURE [dbo].[MaxSalary]
 AS  
Declare @Msalary longint=0
SET NOCOUNT ON;
SELECT @Msalary = max(salary)
FROM tblSalary ;
return @Msalary 
GO
//获取返回值

double maxsal = (double)mycommand.ExecuteScalar();
更多细节可以参考