Mam metodę, która łączy się z bazą danych przez Odbc. Wywoływana przeze mnie procedura składowana ma wartość zwracaną, która po stronie bazy danych to „Char”. W tej chwili chwytam tę wartość zwracaną jako ciąg i używam jej w prostej instrukcji if. Naprawdę nie podoba mi się pomysł porównywania takiego ciągu, gdy tylko dwie wartości mogą wrócić z bazy danych, 0 i 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;
}
Jaki byłby właściwy sposób rozwiązania tej sytuacji. Próbowałem `` Convert.ToBoolean () '', co wydawało się oczywistą odpowiedzią, ale natrafiłem na `` Ciąg nie został rozpoznany jako prawidłowy Boolean. 'wyjątek został wyrzucony. Czy coś mi tu brakuje, czy jest inny sposób, aby „1” i „0” zachowywały się jak prawda i fałsz?
Dzięki!