Eu tenho um método que está se conectando a um banco de dados via Odbc. O procedimento armazenado que estou chamando tem um valor de retorno que do lado do banco de dados é um 'Char'. Agora estou pegando esse valor de retorno como uma string e usando-o em uma instrução if simples. Eu realmente não gosto da ideia de comparar uma string como esta quando apenas dois valores podem retornar do banco de dados, 0 e 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;
}
Qual seria a forma adequada de lidar com essa situação. Tentei 'Convert.ToBoolean ()', que parecia ser a resposta óbvia, mas encontrei a mensagem 'String não foi reconhecida como um Booleano válido. 'exceção sendo lançada. Estou faltando alguma coisa aqui ou há outra maneira de fazer '1' e '0' agirem como verdadeiro e falso?
Obrigado!