将int转换为布尔ADO.净SqlParameter

本文关键字:ADO SqlParameter 布尔 int 转换 | 更新日期: 2023-09-27 18:18:40

我正在尝试使用返回int的存储过程。然后我需要将int转换为布尔值(success)。

SqlParameter Return = new SqlParameter(); 
Return.ParameterName = "@return";
Return.SqlDbType = SqlDbType.Int;
Return.Direction = ParameterDirection.ReturnValue;   

但是这行代码抛出了一个System.InvalidCastException错误

 Success = (Boolean)Command.Parameters["@return"].Value;

我该怎么做才能不得到这个错误?

谢谢

将int转换为布尔ADO.净SqlParameter

您可以使用以下任何一种方法来完成您需要的操作:

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,如果值为零将为false,否则为true(这来自C!)

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