我有一个通过 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()”,这似乎是显而易见的答案,但我遇到了“字符串未被识别为有效布尔值”。' 抛出异常。我在这里遗漏了什么,还是有另一种方法可以让“1”和“0”表现得像真假?
谢谢!