Чтение из базы данных Access c#

#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.