1. ホーム
  2. c#

[解決済み] 0 "と "1 "を "偽 "と "真 "に変換する方法

2023-02-01 04:44:33

質問

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()' を試しました。 を試してみましたが、'String was not recognized as a valid Boolean. という例外がスローされます。私は何かを見逃しているのでしょうか? あるいは、'1'と'0'を真と偽のように動作させる別の方法があるのでしょうか?

ありがとうございます。

どのように解決するのですか?

どうでしょう。

return (returnValue == "1");

または以下のように提案します。

return (returnValue != "0");

正しいものは、あなたが成功の結果として何を求めているかによって異なります。