Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
3 / 3 / 3
Регистрация: 03.04.2019
Сообщений: 176

Как вставить картинку в blob поле дочерней таблицы базы данных mysql, при щелчке по кнопке?

11.04.2021, 05:20. Показов 3435. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 2 таблицы: personal (родительская) и documents (дочерняя). [ 1:M ]
personal
-------------
idPersonal <-
Name
Syrname

documents
--------------
id
Photo
idPersonal ->


Алгоритм:
1. При щелчке по кнопке вызывается opendialog
2. Выбираем файл
3. Загружаем его в picturebox
4. Подключаемся к базе
5. Записываем картинку из picturebox в поле Photo

------

На форму поместил picturebox и button1:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//При щелчке загружаем выбранное изображение в picturebox
private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFileDialog1 = new OpenFileDialog();
                openFileDialog1.Filter = "Image files | *.jpg";
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    label1.Text = openFileDialog1.FileName; //Записываем в label1 путь до файла
                    picturebox1.Image = Image.FromFile(openFileDialog1.FileName);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
//Подключаемся к базе и "пытаюсь загрузить изображение из picturebox1 в поле дочерней таблицы documents - 'Photo' "
C#
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
private void button2_Click(object sender, EventArgs e)
        {
            DataBase db = new DataBase();
            DataTable tbl = new DataTable();
            MySqlDataAdapter adapter = new MySqlDataAdapter();
 
            FileStream fs;
            BinaryReader br;
 
            try
            {
                    string FileName = label1.Text;
                    byte[] ImageData;
                    fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
                    br = new BinaryReader(fs);
                    ImageData = br.ReadBytes((int)fs.Length);
                    br.Close();
                    fs.Close();
 
   
                string CmdString = "INSERT INTO documents (Photo) SELECT Photo, @Photo FROM personal WHERE personal.idPersonal=documents.idPersonal";
 
                     MySqlCommand cmd = new MySqlCommand(CmdString, db.GetConn());
 
                    cmd.Parameters.Add("@Photo", MySqlDbType.Blob);
 
                    db.OpenConn();
 
                    int RowsAffected = cmd.ExecuteNonQuery();
                    if (RowsAffected > 0)
                    {
                        MessageBox.Show("Изображение записано!");
                    }
 
                    db.CloseConn();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                db.CloseConn();
            }
        }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2021, 05:20
Ответы с готовыми решениями:

Как вывести из таблицы oracle бд поле типа blob, которое содержит картинку
Здравствуйте всем. Полистав страницы яндекса не нашел как вывести из таблицы oracle бд поле типа blob, которое содержит картинку,...

Как вывести значение blob поля дочерней таблицы в pictureBox?
Есть 2 таблицы: &quot;user&quot; 1:М &quot;data&quot; user ------ id_user name family data

Загрузка изображений в BLOB поле базы данных
Здравствуйте, возникла такая проблема. Как правильно загружать изображения различных форматов в базу данных MySQL? В базе имеется поле...

2
Эксперт .NET
 Аватар для Usaga
14315 / 9401 / 1355
Регистрация: 21.01.2016
Сообщений: 35,454
12.04.2021, 05:33
Лучший ответ Сообщение было отмечено iamolivia как решение

Решение

iamolivia,

SQL
1
INSERT INTO documents (Photo, idPersonal) VALUES (@Photo, @idPersonal)
Или

SQL
1
UPDATE documents SET Photo = @Photo WHERE idPersonal = @idPersonal
Смотря что вы хотите сделать.
1
3 / 3 / 3
Регистрация: 03.04.2019
Сообщений: 176
12.04.2021, 08:19  [ТС]
Usaga, ураа! Спасибо большое заработало
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2021, 08:19
Помогаю со студенческими работами здесь

Как занести картинку в BLOB-поле?
база сделана через Database Desktop типа Paradox7, при создании поля выбрала типа Grephic. Скажите как в это поле засунуть картинку? и...

При щелчке по кнопке, цвет фона становится розовым, и надпись на кнопке меняется на «Желтый».
Дана пустая страница с желтым фоном и на ней кнопка с надписью «Розовый». При щелчке по кнопке, цвет фона становится розовым, и надпись на...

Как обеспечить зависимость значений для ввода в поле базы данных от значения в другом поле базы данных?
Есть 2 таблицы справочников (все факторы и все возможные значения - tblDicFactor и tblDicFactorValue), для каждого фактора есть допустимые...

Как обеспечить зависимость значений для ввода в поле базы данных от значения в другом поле базы данных?
В таблицу DicFactor вводятся факторы, а в связанную с ней таблицу FactorValue вводятся допустимые значения факторов. Например, для фактора...

MySQL: как прочитать поле BLOB с преобразованием его в Image
Доброго времени суток! Может кто-нибудь подскажет как прочитать поле BLOB поле с преобразованием его в Image? Задача такая. Есть...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru