Как заполнить dataTable по запросу SQLite?

Есть метод, который получает список сотрудников и заполняет List employeesList. Как переделать код метода, чтобы заполнялся не лист а dataTable?

private void GetEmployees()
 {
     employeesList.Clear();

     string query = "SELECT p.Id, p.Lastname, p.Firstname, p.Surname, (SELECT Post FROM Posts WHERE e.PostId = Id), e.PersonnelNumber, p.DateOfBirth, e.IsActive " +
                    "FROM Employees e " +
                    "INNER JOIN Persons p " +
                    "ON p.Id = e.PersonId " +
                    "ORDER BY p.Lastname";

     try
     {
         command = DataBase.GetConnection().CreateCommand();
         command.CommandText = query;

         DataBase.OpenConnection();
         reader = command.ExecuteReader();
         while (reader.Read())
         {
             employeesList.Add(new ViewEmployeesModel
             {
                 Id = reader.GetInt32(0),
                 Lastname = reader.GetString(1),
                 Firstname = reader.GetString(2),
                 Surname = reader.GetString(3),
                 Post = reader.GetString(4),
                 PersonnelNumber = reader.GetInt32(5),
                 DateOfBirth = reader.GetString(6),
                 IsActive = reader.GetString(7) == "1" ? "действующий" : "уволен"
             });
         }
         reader.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show($"Не удалось загрузить список сотрудников :" +
                         $"\n\"{ex.Message}\"\nОбратитесь к системному администратору для устранения ошибки.",
                         "Ошибка при работе с Базой Данных", MessageBoxButtons.OK, MessageBoxIcon.Stop);
     }

     DataBase.CloseConnection();
 }

Таблица в WinForms сейчас заполняется из источника List employeesTable.DataSource = employeesList Но нужно, чтобы таблица заполнялась из dataTable.


Ответы (0 шт):