日期:2014-05-19  浏览次数:20371 次

SqlDataSource怎么取得存储过程中的返回值
SqlDataSource怎么取得存储过程中的返回值

------解决方案--------------------
public SqlCommand CreateCommand(string procName,SqlParameter[] param)
{
Open();
SqlCommand cmd=new SqlCommand(procName,myConnection);
cmd.CommandType=CommandType.StoredProcedure;
if(param!=null)
{
foreach(SqlParameter paramlist in param)

{
cmd.Parameters.Add(paramlist);
}
}
cmd.Parameters.Add(new SqlParameter(RETURNVALUE,SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
return cmd;
}


public int RunProc(string procName)
{
SqlCommand cmd=CreateCommand(procName,null);
try
{
cmd.ExecuteNonQuery();

}
catch(Exception ex)
{
SystemError.ErrorMessage(ex.Message);

}
Dispose();
Close();

return (int)cmd.Parameters[RETURNVALUE].Value;
}

------解决方案--------------------
正始你存儲過程返回的值@flag
---------取得返回的值﹕
int returnVariable = Command.Parameters[ "@flag "].Value;

or
int returnVariable = int.Parse(Command.Parameters[ "@flag "].Value.Tostring());