C# хранить содержимое из БД в список
Код C#:
try
{
string mydbConnection = "datasource=localhost;port=3306;username=root;password=Greenford123;";
MySqlConnection connDB = new MySqlConnection(mydbConnection);
MySqlCommand cmdDataBase = new MySqlCommand("SELECT * FROM project.student", connDB);
MySqlDataReader DBReader;
connDB.Open();
DBReader = cmdDataBase.ExecuteReader();
while (DBReader.Read())
{
List<string> mylist = new List<string>();
mylist.Add(DBReader.ToString());
foreach (var item in mylist)
{
MessageBox.Show("The details are " + item);
}
}
connDB.Close();
}
catch(Exception ex)
{
MessageBox.Show("Error! " + ex);
}
Задача:
Чего я хочу достичь в своем коде:
-сохранить содержимое из БД в список, а затем вывести список.
Однако это вывод, который я получаю:
OUTPUT = "детали - MySQL.Data.MySqlClient.MySqlDataReader"
1 ответ
Решение
Может быть, вам следует перебрать поля:
while (DBReader.Read())
{
List<string> mylist = new List<string>();
for(int i=0; i<DBReader.FieldCount; i++)
myList.Add(DBReader.GetValue(i).ToString());
foreach (var item in mylist)
{
MessageBox.Show("The details are " + item);
}
}
В противном случае ваш datareader просто преобразуется в строку, по умолчанию он просто показывает имя своего класса.