MySqlData :: MySqlClient набор результатов для заполнения универсального вектора c ++ - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужно как-то прочитать данные из набора результатов, создать мои предопределенные модели и заполнить вектор, который я позже буду использовать для заполнения 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);


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...