Pobieranie informacji o użytkowniku z bazy danych za pomocą prostego zapytania.Jak uzyskać niewielką wartość za pomocą SqlDataReader i przekonwertować go na wartość bool?
select * from dbo.[User] u where u.Email = @email
I spróbuj uzyskać wartość w kolumnie o nazwie IsConfirmed (który jest reprezentowany jako kolumna typu bit w bazie danych) i przekształcić ją w bool.
bool isConfirmed = int.Parse(sqlDataReader["IsConfirmed"].ToString()) == 1;
Następnie otrzymuję błąd FormatException, stwierdzając, że "Ciąg wejściowy nie był w poprawnym formacie.".
widziałem podobne pytanie z odpowiedzią zapewniając ten kod:
bool isConfirmed = sqlDataReader.GetBoolean(0);
Ale to nie będzie działać z moim przypadku, ponieważ nie wiem, indeks kolumny IsConfirmed a ja nie chcę to wiedzieć. Chcę użyć nazwy kolumny.
Jest to najbardziej dokładna i kompletna odpowiedź, aby poradzić sobie również z przypadkami błędów. +1 – Ant