Member 12879178 Ответов: 2

Как сохранить несколько изображений в базе данных SQL server с помощью C# ?


Пожалуйста, помогите >> У меня есть приложение windows form, и я создаю форму для вставки данных в базу данных sql , я хочу вставить несколько изображений одним нажатием кнопки в одну таблицу >>
Как это можно сделать???
это мой код>>

private void buttonX6_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Multiselect = true;
            openFileDialog1.Title = "My Image Browser";
            openFileDialog1.ValidateNames = true;
            openFileDialog1.Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" 
                + "All files (*.*)|*.*";
          
                openFileDialog1.RestoreDirectory = true;

                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    fileNames.Clear();
                    listView1.Items.Clear();
                    foreach (string fileName in openFileDialog1.FileNames)
                    {
                        try
                        {
                            FileInfo fi = new FileInfo(fileName);
                            fileNames.Add(fi.FullName);
                            listView1.Items.Add(fi.Name, 0);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                        }
                    }
                }
            }


как я могу сохранить все изображения из listview в базу данных в один клик ??

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

Помогите мне, у меня есть приложение windows form, и я создаю форму для вставки данных в базу данных sql , я хочу вставить несколько изображений одним нажатием кнопки в одну таблицу >>
Как это можно сделать???

2 Ответов

Рейтинг:
4

Richard MacCutchan

Добавьте некоторый код в событие Button_Click, чтобы создать команду SQL Insert для отправки данных в базу данных. Поскольку мы понятия не имеем, где хранятся эти данные, в какой форме они хранятся или какова структура вашей базы данных, это лучшее предложение, которое я могу предложить.


Рейтинг:
17

Wendelius

У вас есть хорошее начало, так как вы уже просматриваете изображения. Теперь внутри цикла сохраните каждое изображение с помощью инструкции INSERT. В псевдокоде

create sql connection
create sql command for insert
for each image
   set bind variables for the command 
   execute the command

Для хранения изображений в SQL Server у вас есть в основном два варианта: либо varbinary field, либо filestream. Для использования этих полей взгляните на Как хранить и извлекать двоичные данные в столбец файлового потока[^]

В общем случае при выполнении операторов следует использовать использование блоков вместе с транзакцией и так далее. Для получения рекомендаций обратитесь к Правильное выполнение операций с базой данных[^]


Member 12879178

Большое спасибо

Wendelius

Всегда пожалуйста :)