У меня есть метод, который подключается к базе данных через 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» действовать как истина или ложь?
Благодаря!