我有一个通过Odbc连接到数据库的方法。我正在调用的存储过程具有一个返回值,该返回值从数据库侧为“ Char”。现在,我将返回值作为字符串获取,并在简单的if语句中使用它。当只有两个值(0和1)可以从数据库返回时,我真的不喜欢比较这样的字符串的想法。
OdbcCommand fetchCommand = new OdbcCommand(storedProc, conn);
fetchCommand.CommandType = CommandType.StoredProcedure;
fetchCommand.Parameters.AddWithValue("@column ", myCustomParameter);
fetchCommand.Parameters.Add("@myReturnValue", OdbcType.Char, 1)
.Direction = ParameterDirection.Output;
fetchCommand.ExecuteNonQuery();
string returnValue = fetchCommand.Parameters["@myReturnValue"].Value.ToString();
if (returnValue == "1")
{
return true;
}
处理这种情况的正确方法是什么?我尝试了'Convert.ToBoolean()',这似乎是显而易见的答案,但是我遇到了'String被识别为无效布尔值的问题。'抛出异常。我是否在这里遗漏了某些东西,还是有另一种方式使“ 1”和“ 0”表现为真与假?
谢谢!