Odbcを介してデータベースに接続するメソッドがあります。私が呼び出しているストアドプロシージャには、データベース側からは「Char」である戻り値があります。現在、その戻り値を文字列として取得し、単純なifステートメントで使用しています。データベースから返される値が0と1の2つだけである場合に、このような文字列を比較するというアイデアは本当に好きではありません。
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」を真と偽のように動作させる別の方法がありますか?
ありがとう!