Мне нужно как-то прочитать данные из набора результатов, создать мои предопределенные модели и заполнить вектор, который я позже буду использовать для заполнения dataGrid.
То, что я не смог найти, это какиспользовать набор результатов из MySqlData, может быть, есть другой подход к этому?Чтобы извлечь данные sql для более поздних моделей и создания векторов.
В данный момент я читаю sql непосредственно в dataGrid и создаю модели и векторы оттуда, но я знаю, что это довольно странный подход ...
String^ conString = L"datasource=localhost;port=****;username=****;password=****";
conDatabase = gcnew MySqlConnection(conString);
String^ queryString = "SELECT film_id,title,release_year,length,description FROM sakila.film";
adapter = gcnew MySqlDataAdapter(queryString, conDatabase);
filmsTable = gcnew DataTable();
adapter->Fill(filmsTable);
source = gcnew BindingSource();
source->DataSource = filmsTable;
filmDataGrid->DataSource = filmsTable;
filmDataGrid->Columns[0]->Visible = false;
for (Int32 i = 0; i < filmDataGrid->RowCount - 1; i++) {
String^ title;
String^ releaseYear;
String^ description;
String^ length;
title = filmDataGrid->Rows[i]->Cells[1]->Value->ToString();
releaseYear = filmDataGrid->Rows[i]->Cells[2]->Value->ToString();
length = filmDataGrid->Rows[i]->Cells[3]->Value->ToString();
description = filmDataGrid->Rows[i]->Cells[4]->Value->ToString();
std::string unmanagedTitle = msclr::interop::marshal_as<std::string>(title);
std::string unmanagedRelYear= msclr::interop::marshal_as<std::string>(releaseYear);
std::string unmanagedLength = msclr::interop::marshal_as<std::string>(length);
std::string unmanagedDescription = msclr::interop::marshal_as<std::string>(description);
Film *film = new Film(unmanagedTitle, unmanagedRelYear, unmanagedLength, unmanagedDescription);
filmVector->push_back(*film);
}