我正在尝试使用返回int的存储过程。然后我需要将int转换为布尔值(成功)。
SqlParameter Return = new SqlParameter();
Return.ParameterName = "@return";
Return.SqlDbType = SqlDbType.Int;
Return.Direction = ParameterDirection.ReturnValue;
但是,这行代码会引发System.InvalidCastException
错误
Success = (Boolean)Command.Parameters["@return"].Value;
我该怎么做才能收到此错误?
由于
答案 0 :(得分:0)
您可以使用以下任何一种方法来执行所需操作:
Success = Convert.ToBoolean(Command.Parameters["@return"].Value);
或
Success = Command.Parameters["@return"].Value==0?false:true;
或
if(Command.Parameters["@return"].Value==0)
Success = false;
else
Success = true;
(它们与Convert.ToBoolean完全相同,如果值为零则为假,否则为真(这来自C!)
编辑:我忘记的一件事是,如果它返回一个字符串或一个对象,你可能必须先转换为整数才能转换为布尔值。