Ich habe eine Methode, die über Odbc eine Verbindung zu einer Datenbank herstellt. Die gespeicherte Prozedur, die ich aufrufe, hat einen Rückgabewert, der von der Datenbankseite ein 'Char' ist. Im Moment greife ich diesen Rückgabewert als Zeichenfolge und verwende ihn in einer einfachen if-Anweisung. Die Idee, einen solchen String zu vergleichen, gefällt mir wirklich nicht, wenn nur zwei Werte aus der Datenbank zurückkehren können, 0 und 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;
}
Was wäre der richtige Weg, um mit dieser Situation umzugehen? Ich habe 'Convert.ToBoolean ()' ausprobiert, was die offensichtliche Antwort zu sein schien, aber ich bin auf den 'String wurde nicht als gültiger Boolescher Wert erkannt. 'Ausnahme wird geworfen. Vermisse ich hier etwas oder gibt es eine andere Möglichkeit, '1' und '0' wie wahr und falsch wirken zu lassen?
Vielen Dank!