Sto recuperando le informazioni utente da un database utilizzando una semplice query.Come ottenere un valore in bit con SqlDataReader e convertirlo in bool?
select * from dbo.[User] u where u.Email = @email
Allora provo ad ottenere il valore di una colonna, chiamato IsConfirmed (che è rappresentato come una colonna di tipo bit nel database) e convertirlo in bool.
bool isConfirmed = int.Parse(sqlDataReader["IsConfirmed"].ToString()) == 1;
Allora ottengo un errore FormatException, affermando che "stringa di input non era in un formato corretto.".
ho visto una domanda simile con una risposta che fornisce questo codice:
bool isConfirmed = sqlDataReader.GetBoolean(0);
Ma questo non funzionerà con il mio caso, perché non so l'indice della colonna IsConfirmed e io no voglio saperlo. Voglio usare il nome della colonna.
Questa è la risposta più completa e completa per gestire anche i casi di errore. +1 – Ant