Работа над небольшим проектом с VS2010 и SQLEXPRESS.
У меня есть следующая таблица с некоторыми данными, которые я ввел:
Поля таблицы
Когда я выполню это:
using (SqlConnection conn = new SqlConnection(connString)) {
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM ACCOUNTS", conn);
using (SqlDataReader reader = cmd.ExecuteReader()) {
while (reader.Read()) {
accountList.Add(new Account((int)reader["id"], (float)reader["number"], (AccountType)reader["type"], (string)reader["name"], (float)reader["balance"], (float)reader["maxdebit"], (int)reader["userId"]));
}//Not tested
} // Dispose Reader
//do something here
} // Dispose implicitly called
Отладчик показывает мне следующее:
Выход отладчика
По некоторым причинам он получает только первые 4 столбца. Я никогда не видел такого поведения раньше, и код, чтобы получить его, кажется хорошим. Кто-нибудь получил какие-нибудь подсказки для меня?
РЕДАКТИРОВАТЬ: Проблема решена.
Проблема оказалась InvalidCastingException. По какой-то причине. Оказывается, проблема с отображением только 4 элементов массива на самом деле не была проблемой. Переменная FieldCount указала 7 полей, что в точности соответствует таблице. Так что все они были найдены.
Данные моей таблицы выглядят так:
Ik0Ap.png (добавьте imgur plz ... без изображений и только 2 гиперссылки, если до 10 очков репутации. Я отредактировал, чтобы показать, что это было решено, поэтому я отправляю ... поэтому у меня возникла эта проблема)
Максимум 2 гиперссылки до 10 баллов ...
Там четко написано "плавать", поэтому я сделал бросок, чтобы плавать. Но по словам отладчика VS, это двойной. Таким образом, кастинг был недействительным. Вздох
Так что это была главная проблема. Почему было показано только 4 фрагмента массива, для меня пока загадка ... Может быть, настройка VS2010 для предотвращения печати массивов с тысячами объектов в отладчике?