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」を真と偽のように振る舞わせる別の方法はありますか?
ありがとう!