#c# #sql #database #ms-access
#c# #sql #База данных #ms-access
Вопрос:
Я пытаюсь выполнить чтение из базы данных access и поместить результаты в список. Вот код, который у меня есть, он продолжает сообщать мне, что «Для строки / столбца не существует данных. У меня есть данные, введенные в столбец с именем «GroupName», и есть данные в столбце с именем «randomNumber» в таблице «GroupNames»
db = new OleDbConnection();
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" fileName;
db.Open();
string sql = "SELECT * FROM GroupNames ORDER BY RandomNumber ASC";
cmd = new OleDbCommand(sql, db);
rdr = cmd.ExecuteReader();
lblist.Text = (string)rdr["GroupName"];
Ответ №1:
Попробуйте это:
lblist.Items.Clear();
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//lblist.Text = (string)rdr["GroupName"];
lblist.Items.Add((string)rdr["GroupName"]);
}
Комментарии:
1. Это должно быть
while(rdr.Read())
2. @Nacereddine: да, вы правы … просто опечатка, извините. Спасибо 🙂
Ответ №2:
Вам нужно переместить средство чтения в первую строку с помощью вызова rdr.Read()
.
Если нет строки для перемещения, Read()
вернет false.