J'ai une méthode qui se connecte à une base de données via Odbc. La procédure stockée que j'appelle a une valeur de retour qui du côté de la base de données est un «Char». En ce moment, je saisis cette valeur de retour sous forme de chaîne et je l'utilise dans une simple instruction if. Je n'aime vraiment pas l'idée de comparer une chaîne comme celle-ci alors que seules deux valeurs peuvent revenir de la base de données, 0 et 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;
}
Quelle serait la bonne façon de gérer cette situation. J'ai essayé 'Convert.ToBoolean ()' qui semblait être la réponse évidente mais j'ai rencontré le 'String n'a pas été reconnu comme un booléen valide. 'exception étant levée. Est-ce que je manque quelque chose ici, ou y a-t-il une autre façon de faire en sorte que «1» et «0» agissent comme vrai et faux?
Merci!