diablo22 Ответов: 2

Vb.net импорт/загрузка изображений доступ к БД


Привет,
Я искал в интернете источник руководства по учебникам, как это сделать, но не смог найти ни одного полезного. Поэтому я постараюсь разместить здесь сообщение, может быть, кто - то мне поможет.

Как сделать это 2 функции
.accdb файл с таблицей:
- Пользователи -> ID, картинка (OleDB)

Когда форма загружается, чтобы загрузить изображение из этой таблицы и отобразить его на picturebox1
Кнопка Сохранить позволяет импортировать изображение с компьютера в таблицу и столбец.

Извините, что публикую это, но действительно не смог найти хороший и более новый учебник с accsess db.

Если бы кто-то мог мне помочь, цель-это учиться и создавать проекты для себя, чтобы узнать и понять все больше и больше о ms accsess и vb.net-да.
Спасибо Вам за поддержку, даже если это какая-то нить, где она может помочь мне создать ее.

Что я уже пробовал:

попробовал старые учебники, которые были сделаны в 2010-2011 годах, но не очень хорошие варианты. Нужно что-то новое и лучше сделанное для обучения.

2 Ответов

Рейтинг:
5

diablo22

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim dialog As New OpenFileDialog()
        dialog.Title = "Browse Picture"
        dialog.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
        If dialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
            PictureBox1.Image = Image.FromFile(dialog.FileName)
            TextBox1.Text = dialog.FileName.ToString
        End If
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Try
            With cmd
                Dim ms As New IO.MemoryStream()
                PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
                Dim arrimage() As Byte = ms.GetBuffer
                conn.Open()
                .Connection = conn
                .CommandText = "UPDATE Table SET cPicture = @picture WHERE ID = 1"
                .Parameters.Add("@Picture", OleDbType.Binary).Value = arrimage
                .ExecuteNonQuery()
                ms.Close()
            End With
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            cmd.Dispose()
            If conn IsNot Nothing Then
                conn.Close()
            End If
        End Try

    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Try
            With cmd
                Dim stream As New IO.MemoryStream()
                conn.Open()
                .Connection = conn
                .CommandText = "select cPicture from Table where ID=1"
                Dim image As Byte() = DirectCast(cmd.ExecuteScalar(), Byte())
                stream.Write(image, 0, image.Length)
                Dim bitmap As New Bitmap(stream)
                PictureBox1.Image = bitmap '--->I have used another picturebox to display image from database.
                stream.Close()
            End With
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            cmd.Dispose()
            If conn IsNot Nothing Then
                conn.Close()
            End If
        End Try

    End Sub


Рейтинг:
1

Richard MacCutchan

Создайте базу данных access и добавьте таблицу, которую вы хотите использовать для хранения данных. Файлы изображений используют тип данных BLOB. Однако иногда бывает лучше сохранить изображения в виде файлов и просто сохранить их путь к базе данных.

Создайте форму, содержащую элемент управления picturebox. Добавьте код в метод загрузки формы, чтобы загрузить изображение в поле изображения.

Если вам нужна помощь в использовании определенных элементов управления, вы можете проверить их методы и свойства на страницах документации MSDN. Например Класс PictureBox (System.Окна.Формы) | Microsoft Docs[^].