Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранить изображение в БД 
:(
    Опции темы
masternard
Дата 23.12.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 47
Регистрация: 10.1.2008

Репутация: нет
Всего: нет



Есть приложение на C#. В нем PictureBox. При щелчке на боксе должно появиться окошко с проводником Windows, чтобы выбрать изображение, которое загрузится в PictureBox. И дальше, как сохранить это изображение в БД MSSQL, например, в таблицу Images в столбец data_img.
PM   Вверх
retsky
Дата 23.12.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.11.2008

Репутация: нет
Всего: нет




Код

public static byte[] GetPhoto(string filePath) 
        {
          FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
          BinaryReader reader = new BinaryReader(stream);
          byte[] photo = reader.ReadBytes((int)stream.Length);
          reader.Close();
          stream.Close();
          return photo;
        }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) // отображает в pictureBox картинку из БД
        {
            try
            {
                SqlCommand cmdSelect = new SqlCommand("select tfile from table_3 where ID=1", this.sqlConnection1);
                this.sqlConnection1.Open();
                byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();
                Image img = Image.FromStream(new MemoryStream(barrImg));
                this.sqlConnection1.Close();
                this.pictureBox1.Image = img;
            }
            catch (Exception ex)
            {
                this.sqlConnection1.Close();
                MessageBox.Show(ex.Message);
            }
        }
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) // вставляет в таблицу файл с картинкой
        {
            try
            {
                byte[] photo = GetPhoto("D:\\1.jpg");
                SqlCommand command = new SqlCommand("INSERT INTO table_3 (id, tfile) Values(1, @Photo)", this.sqlConnection1);
                command.Parameters.Add("@Photo", SqlDbType.Image, photo.Length).Value = photo;
                this.sqlConnection1.Open();
                command.ExecuteNonQuery();
                this.sqlConnection1.Close();
            }
            catch (Exception ex)
            {
                this.sqlConnection1.Close();
                MessageBox.Show(ex.ToString());
            }

        }
 private void pf_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) // сохраняет в файл картинку из БД
        {
            try
            {
                SqlCommand cmdSelect = new SqlCommand("select tfile from table_3 where ID=1", this.sqlConnection1);
                
                this.sqlConnection1.Open();
                byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();
                this.sqlConnection1.Close();
                
                FileStream fs = new FileStream("D:\\blob6", FileMode.CreateNew, FileAccess.Write);
                fs.Write(barrImg, 0, barrImg.Length);
                fs.Flush();
                fs.Close();

            }
            catch (Exception ex)
            {
                this.sqlConnection1.Close();
                MessageBox.Show(ex.Message);
            }
        }


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0389 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.