Ho un metodo che si connette a un database tramite Odbc. La stored procedure che sto chiamando ha un valore di ritorno che dal lato del database è un "Char". In questo momento sto prendendo quel valore di ritorno come una stringa e lo sto usando in una semplice istruzione if. Non mi piace davvero l'idea di confrontare una stringa come questa quando solo due valori possono tornare dal database, 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;
}
Quale sarebbe il modo corretto per gestire questa situazione. Ho provato "Convert.ToBoolean ()" che sembrava la risposta ovvia, ma mi sono imbattuto nel "String non è stato riconosciuto come booleano valido. 'eccezione generata. Mi manca qualcosa qui o c'è un altro modo per fare in modo che "1" e "0" si comportino come veri e falsi?
Grazie!