过程或函数 'SP' 需要未提供的参数“@param”
Procedure or function 'SP' expects parameter '@param', which was not supplied
我的 C# 代码遇到了这个错误。在SQL服务器执行存储过程没问题
Procedure or function 'SP' expects parameter '@outputparam', which was not supplied.
public string function1(int param1, string param2)
{
SqlDataAdapter sqladapter = new SqlDataAdapter();
SqlConnection conn = new SqlConnection(strcon);
SqlCommand cmd;
cmd = new SqlCommand("SP", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@param1", param1);
cmd.Parameters.AddWithValue("@param2", param2);
SqlParameter returnParameter = cmd.Parameters.Add("@outputparam", SqlDbType.NVarChar);
returnParameter.Direction = ParameterDirection.ReturnValue;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
return cmd.Parameters["@outputparam"].Value.ToString();
}
CREATE PROCEDURE [dbo].[SP]
(@param1 int,
@param2 nvarchar(50),
@outputparam nvarchar(20) OUTPUT)
试试这些代码
SqlParameter returnParameter = cmd.Parameters.Add("@outputparam", DbType.String);
returnParameter.Direction = ParameterDirection.ReturnValue;
改为
cmd.Parameters.Add("@outputparam", DbType.String, ParameterDirection.Output);
和
return cmd.Get<string>("@outputparam");
我的 C# 代码遇到了这个错误。在SQL服务器执行存储过程没问题
Procedure or function 'SP' expects parameter '@outputparam', which was not supplied.
public string function1(int param1, string param2)
{
SqlDataAdapter sqladapter = new SqlDataAdapter();
SqlConnection conn = new SqlConnection(strcon);
SqlCommand cmd;
cmd = new SqlCommand("SP", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@param1", param1);
cmd.Parameters.AddWithValue("@param2", param2);
SqlParameter returnParameter = cmd.Parameters.Add("@outputparam", SqlDbType.NVarChar);
returnParameter.Direction = ParameterDirection.ReturnValue;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
return cmd.Parameters["@outputparam"].Value.ToString();
}
CREATE PROCEDURE [dbo].[SP]
(@param1 int,
@param2 nvarchar(50),
@outputparam nvarchar(20) OUTPUT)
试试这些代码
SqlParameter returnParameter = cmd.Parameters.Add("@outputparam", DbType.String);
returnParameter.Direction = ParameterDirection.ReturnValue;
改为
cmd.Parameters.Add("@outputparam", DbType.String, ParameterDirection.Output);
和
return cmd.Get<string>("@outputparam");