将int转换为布尔值ADO.NET SqlParameter

时间:2015-10-21 03:22:55

标签: c# ado.net int boolean sqlparameter

我正在尝试使用返回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;

我该怎么做才能收到此错误?

由于

1 个答案:

答案 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!)

编辑:我忘记的一件事是,如果它返回一个字符串或一个对象,你可能必须先转换为整数才能转换为布尔值。