Tengo un método que se conecta a una base de datos a través de Odbc. El procedimiento almacenado al que estoy llamando tiene un valor de retorno que desde el lado de la base de datos es un 'Char'. En este momento, estoy tomando ese valor de retorno como una cadena y lo uso en una simple declaración if. Realmente no me gusta la idea de comparar una cadena como esta cuando solo dos valores pueden regresar de la base de datos, 0 y 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;
}
Cuál sería la forma adecuada de manejar esta situación. Probé 'Convert.ToBoolean ()', que parecía la respuesta obvia, pero me encontré con el 'String no fue reconocido como un booleano válido. 'excepción lanzada. ¿Me estoy perdiendo algo aquí, o hay otra forma de hacer que el '1' y el '0' actúen como verdadero y falso?
¡Gracias!