存储过程的返回值只能是int类型,所以你paras[3].Direction = ParameterDirection.ReturnValue;
就有问题了,如果要使用float型,请在存储过程中使用out关键字修饰的参数,同样paras[3].Direction = ParameterDirection.ReturnValue;也要改成Out了
new SqlParameter("@groupActualScore",SqlDbType.Float)
改成
new SqlParameter("@RETURN_VALUE",SqlDbType.Float)
试试
参见
http://blogs.msdn.com/smartclientdata/archive/2006/08/09/693113.aspx
输出语句是没问题的,那就应该出在值的传递过程...
正如一楼所说的“存储过程RETURN的返回值只能是int类型”
如果你想获取存储过程的返回还有另外一种方法就是把参数设置成output
//Create PROCEDURE MYSQL
// @a int,
// @b int,
// @c int output
//AS
// Set @c = @a + @b
//GO
SqlCommand MyCommand = new SqlCommand("MYSQL", conn);
MyCommand.CommandType = CommandType.StoredProcedure;
MyCommand.Parameters["@c"].Direction = ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@c"].Value.ToString());