Как извлечь изображение из БД Access и отобразить его в pictureBox на C++ (winforms)

Изображение находится в поле с типом данных "Поле объекта OLE" и именем "Image". Формат изображения .jpg.

Image^ img;
    String^ connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database.accdb;Persist Security Info=False;";
    String^ query = "SELECT Image FROM [Database]";

    OleDbConnection^ connection = gcnew OleDbConnection(connectionString);
    OleDbCommand^ command = gcnew OleDbCommand(query, connection);

    try {
        connection->Open();
        OleDbDataReader^ reader = command->ExecuteReader();

        if (reader->Read())
        {
            array<unsigned char>^ data = safe_cast<array<unsigned char>^>(reader[0]);

            MemoryStream^ stream = gcnew MemoryStream(data);
            img = Image::FromStream(stream);
            pictureBox1->Image = img;
        }
    }
    catch (Exception^ ex) {
        // Обработка ошибок
    }
    finally {
        connection->Close();
    }

Выдает ошибку "Parameter is not valid". Как исправить код, чтобы все заработало? Или может есть другие способы отобразить изображение из Access в pictureBox?


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