Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 19

Загрузка картинки

10.07.2013, 16:27. Показов 1393. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток))У меня такой вопрос. Как загрузить картинку на форму из бд MySQL? Наверно это очень просто, но все что находила, не помогает(

Спасибо

Добавлено через 49 минут
Вот такой код программы.
Но как вставить загрузку изображения в PictureBox не знаю(

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Imports System
Imports System.Diagnostics
Imports System.Data.Sql
Imports System.Data
Imports MySql.Data.MySqlClient
Imports System.Drawing
 
 
 
Public Class AllForm
    Inherits System.Windows.Forms.Form
    Private helpProvider As New System.Windows.Forms.HelpProvider
 
    Private Sub AllForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        Dim j As Integer
        Dim i As Integer
        Dim conn As New MySqlConnection
        Dim rec As New DataSet
        Dim sql As String = "Select * From zaposleni"
        Dim da As New MySqlDataAdapter(sql, conn)
       
 
        Me.butClose.Focus()
        Me.butClose.Select()
 
        Try
            If conn.State = ConnectionState.Closed Then
                conn.ConnectionString = "DATABASE=dlhe_spk;SERVER=localhost;user id=root;password=kopans"
                
                conn.Open()
                da.Fill(rec, "zaposleni")
                conn.Close()
            End If
        Catch myerror As Exception
            MsgBox("Соединение не удалось! программа будет закрыта" & vbNewLine & myerror.Message, 48, "Ошибка!")
            End
        End Try
 
        i = MainForm.numr
       
       
        TextBox1.Text = rec.Tables("zaposleni").Rows(i).Item(0)
        TextBox2.Text = rec.Tables("zaposleni").Rows(i).Item(1)
        TextBox3.Text = rec.Tables("zaposleni").Rows(i).Item(2)
        TextBox4.Text = rec.Tables("zaposleni").Rows(i).Item(3)
        TextBox5.Text = rec.Tables("zaposleni").Rows(i).Item(4)
        TextBox6.Text = rec.Tables("zaposleni").Rows(i).Item(5)
        TextBox7.Text = rec.Tables("zaposleni").Rows(i).Item(6)
        TextBox8.Text = rec.Tables("zaposleni").Rows(i).Item(7)
        TextBox9.Text = rec.Tables("zaposleni").Rows(i).Item(8)
        TextBox10.Text = rec.Tables("zaposleni").Rows(i).Item(10)
        TextBox11.Text = rec.Tables("zaposleni").Rows(i).Item(11)
        TextBox12.Text = rec.Tables("zaposleni").Rows(i).Item(14)
        TextBox13.Text = rec.Tables("zaposleni").Rows(i).Item(15)
        TextBox14.Text = rec.Tables("zaposleni").Rows(i).Item(16)
        TextBox15.Text = rec.Tables("zaposleni").Rows(i).Item(17)
        TextBox16.Text = rec.Tables("zaposleni").Rows(i).Item(18)
        TextBox17.Text = rec.Tables("zaposleni").Rows(i).Item(20)
        TextBox18.Text = rec.Tables("zaposleni").Rows(i).Item(21)
        TextBox19.Text = rec.Tables("zaposleni").Rows(i).Item(22)
        TextBox20.Text = rec.Tables("zaposleni").Rows(i).Item(23)
        TextBox21.Text = rec.Tables("zaposleni").Rows(i).Item(25)
        TextBox22.Text = rec.Tables("zaposleni").Rows(i).Item(28)
        If rec.Tables("zaposleni").Rows(i).Item(29) Is DBNull.Value Then
            rec.Tables("zaposleni").Rows(i).Item(29) = 0
        Else
            TextBox23.Text = rec.Tables("zaposleni").Rows(i).Item(29)
        End If
      
        
 
    End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.07.2013, 16:27
Ответы с готовыми решениями:

Загрузка картинки в VB.NET 2005
Загружаю любую картинку в PictureBox, таким образом, чтобы она поместилась полностью в PictureBox имеющего размер 500 на 500. Для этого...

Загрузка картинки в PictureBox, выбранной в ComboBox
Здравствуйте! Есть такая задачка: В папке есть набор картинок. На форме - комбобокс и пикчербокс. В комбобокс при нажатии кнопки...

Загрузка картинки из PictureBox в базу данных
Здравствуйте. Необходимо загрузить картинку из PictureBox в базу данных,. Как загрузить из файла на диске я разобрался: Dim foto As...

6
1652 / 715 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
10.07.2013, 17:19
VB.NET
1
PictureBox1.ImageLocation = "http://картинка.png"
За место "http://картинка.png" будет твой путь к картинке.
0
 Аватар для Gemorg
178 / 153 / 10
Регистрация: 08.11.2012
Сообщений: 224
10.07.2013, 17:48
Никогда не работал с mysql, но вроде код рабочий:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub SaveImage(ByVal image As Byte())
        Using conn = New MySqlConnection(ConnectionString)
            Using cmd = conn.CreateCommand()
                cmd.CommandText = "INSERT INTO pictures (Product, Manufacturer, Description, Price, Image) VALUES ('New_Product', 'New_Manufacturer', 'New_Description', '0', ?Image)"
                cmd.Parameters.Add("?Image", image)
                cmd.ExecuteNonQuery()
            End Using
        End Using
    End Sub
 
    Private Function GetImage(ByVal product As String) As Byte()
        Using conn = New MySqlConnection(ConnectionString)
            Using cmd = conn.CreateCommand()
                cmd.CommandText = "SELECT Image FROM pictures WHERE Product = ?product"
                cmd.Parameters.Add("?product", product)
                Using reader = cmd.ExecuteReader()
                    If Not reader.Read() Then
                        Return Nothing
                    End If
 
                    Const CHUNK_SIZE As Integer = 2 * 1024
                    Dim buffer As Byte() = New Byte(CHUNK_SIZE - 1) {}
                    Dim bytesRead As Long
                    Dim fieldOffset As Long = 0
                    Using stream = New MemoryStream()
                        While (InlineAssignHelper(bytesRead, reader.GetBytes(reader.GetOrdinal("Image"), fieldOffset, buffer, 0, buffer.Length))) > 0
                            stream.Write(buffer, 0, CInt(bytesRead))
                            fieldOffset += bytesRead
                        End While
                        Return stream.ToArray()
                    End Using
                End Using
            End Using
        End Using
    End Function
Использовать так:
VB.NET
1
2
3
Dim image__1 As Byte() = GetImage("New_Product")
Dim stream As New MemoryStream(image__1)
pictureBox2.Image = Image.FromStream(ms)
2
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
11.07.2013, 11:46
Цитата Сообщение от ViktoriiaGol Посмотреть сообщение
Как загрузить картинку на форму из бд MySQL?
FAQ на C#, если не затруднит перевод
https://www.cyberforum.ru/ado-... 26692.html
2
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 19
16.07.2013, 14:32  [ТС]
Цитата Сообщение от Release Посмотреть сообщение
VB.NET
1
PictureBox1.ImageLocation = "http://картинка.png"
За место "http://картинка.png" будет твой путь к картинке.
тут такое не пройдет, т.к. картинка в бд (ну у меня не сработало)


FAQ на C#, если не затруднит перевод
https://www.cyberforum.ru/ado-... 26692.html
Спасибо, но перевод вряд ли смогу сделать))


Никогда не работал с mysql, но вроде код рабочий:
WHERE Product = ?product

даже не знаю как правильно спросить. Это просто присваеваем переменной значение или как?

GetImage("New_Product")

Вместо New_Product должен быть путь или это так и остается?

Всем большое спасибо)

Добавлено через 1 час 7 минут
Using stream = New MemoryStream()


Тип MemoryStream не поределен. Его определять как Public Class?
и как конкретно?

Добавлено через 26 минут
сделала как IO.MemoryStream.

Зато теперь InlineAssignHelper не объявлен. Его как переменную объявлять?
0
 Аватар для Gemorg
178 / 153 / 10
Регистрация: 08.11.2012
Сообщений: 224
16.07.2013, 17:35
Цитата Сообщение от ViktoriiaGol Посмотреть сообщение
Спасибо, но перевод вряд ли смогу сделать))
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.Drawing
Imports System.IO
 
'Автор: Петррр
 
Class Program
    Private Shared Sub Main(args As String())
        Dim sqlConnection As New SqlConnection("Data Source=COMP\SQLEXPRESS;Initial Catalog=db;Integrated Security=True;Pooling=False")
        Dim sqlCommand As New SqlCommand("SELECT image FROM tab WHERE id = 1", sqlConnection)
        sqlConnection.Open()
        Dim sqlDataReader As SqlDataReader = sqlCommand.ExecuteReader()
        If sqlDataReader.HasRows Then
            Dim memoryStream As New MemoryStream()
            For Each record As DbDataRecord In sqlDataReader
                memoryStream.Write(DirectCast(record("image"), Byte()), 0, DirectCast(record("image"), Byte()).Length)
            Next
            Dim image__1 As Image = Image.FromStream(memoryStream)
            image__1.Save("C:\1.BMP")
            memoryStream.Dispose()
            image__1.Dispose()
        Else
            Console.WriteLine("Пустая выборка")
        End If
        sqlConnection.Close()
    End Sub
End Class
1
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 19
17.07.2013, 14:25  [ТС]
Цитата Сообщение от Gemorg Посмотреть сообщение
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.Drawing
Imports System.IO
 
'Автор: Петррр
 
Class Program
    Private Shared Sub Main(args As String())
        Dim sqlConnection As New SqlConnection("Data Source=COMP\SQLEXPRESS;Initial Catalog=db;Integrated Security=True;Pooling=False")
        Dim sqlCommand As New SqlCommand("SELECT image FROM tab WHERE id = 1", sqlConnection)
        sqlConnection.Open()
        Dim sqlDataReader As SqlDataReader = sqlCommand.ExecuteReader()
        If sqlDataReader.HasRows Then
            Dim memoryStream As New MemoryStream()
            For Each record As DbDataRecord In sqlDataReader
                memoryStream.Write(DirectCast(record("image"), Byte()), 0, DirectCast(record("image"), Byte()).Length)
            Next
            Dim image__1 As Image = Image.FromStream(memoryStream)
            image__1.Save("C:\1.BMP")
            memoryStream.Dispose()
            image__1.Dispose()
        Else
            Console.WriteLine("Пустая выборка")
        End If
        sqlConnection.Close()
    End Sub
End Class

Все супер!Работает! Только вот еще один вопрос, как сделать, чтобы id менялось?

То есть, вот здесь мы задаем постоянный id
VB.NET
1
Dim sqlCommand As New SqlCommand("SELECT image FROM tab WHERE id = 1", sqlConnection)
А у меня его значение записывается с другой формы и меняется
VB.NET
1
i = MainForm.numr
Установить прямо туда id=i не получится. Какой то счетчик если использовать, то не знаю куда его вставлять и как потом считывать..

Добавлено через 1 час 45 минут
Все, сделала

VB.NET
1
Dim sqlCommand As New SqlCommand("SELECT image FROM tab WHERE id = "+ i.ToString(), sqlConnection)
Всем спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.07.2013, 14:25
Помогаю со студенческими работами здесь

Загрузка картинки (имя картинки заносится в базу, но на сервер она не закачивается)
Добрый вечер! Друзья выручайте... Набросал код (кое что взял с Интернета) для загрузки картинок: <?php if (isset($_FILES)) { ...

Загрузка картинки на сервер по ссылке, отправка, удаление картинки
Какие есть методы, чтобы: а) Загрузить на сервер в папку ../temp картинку по ссылке (например,...

Загрузка картинки
private class loadPic extends AsyncTask<Void, Void, Void> { private String source; private boolean error = false; ...

Загрузка картинки в БД
Всем привет! Работаю локально, на денвере. Есть два сайта. Один - админка, с которого я провожу заполнение БД, управляю всеми делами и т.д....

загрузка картинки
решил для того что бы руку набить написать самописный движок и затормозил на добавлении картини. для товара картинку добавить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru