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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Update image 
V
    Опции темы
retto
Дата 25.3.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

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



Есть таблица в которой хранится картинка (SQL Server 2005) соответственно в поле Image. Когда я добавляю картинку методом:
Код

 DataTable dt = this.cinemaDataSet2.Фильм;//выбраем таблицу с БД
 DataRow row = dt.NewRow();//создаем новую строчку
 FileStream file = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
int Length = (int)file.Length;
 byte[] mass = new byte[Length];
 file.Read(mass, 0, Length);
 file.Close();
row["Рисунок"] = mass;
 dt.Rows.Add(row);//сохраняем новую строчку
this.фильмTableAdapter.Update(cinemaDataSet2.Фильм);

то картинка в итогге нормально добавляется и соответственно нормально выводится в pictureBox.

Мне надо сделать возможность изменять картинку. Создал хранимую процедуру, которая заменяет картинку на новую:
Код

ALTER PROCEDURE [dbo].[UpdateFilm]
@image image,
@kod int
AS
UPDATE Фильм
SET              
Рисунок =@image,
Where [Код фильма]=@kod


Вызываю её и кидаю туда новый рисунок. В базу рисунок добавляется, но pictureBox гонит что нету там никакого рисунка. Я гдето читал что Update для рисунка надо делать если поле NULL, делал и так: рисунок добавляется, но pictureBox'у на это пофиг.
Что я неправильно делаю?

Чуть не забыл: апдейт картинки:
Код

FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read);
                    int Length = (int)file.Length;
                    byte[] mass = new byte[Length];
                    file.Read(mass, 0, Length);
                    file.Close();
                    SqlConnection con = new SqlConnection("Data Source=RETTO\\SQLEXPRESS;Initial Catalog=Cinema;Integrated Security=True");//подключаемя к базе
                    SqlCommand comm = new SqlCommand("EXEC UpdateFilm " +
                   "@image='" + mass + "', " +
                   "@kod=" + treeView1.SelectedNode.Tag + "", con);
                    con.Open();//коннектимся
                    comm.ExecuteNonQuery();
                    comm.Connection.Close();


Это сообщение отредактировал(а) retto - 25.3.2008, 20:57
PM MAIL   Вверх
informatik
Дата 25.3.2008, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Привет! У тебя ошибка в обновлении.. 

Попробуй так сделать.
Вместо вот этого:
Код


SqlCommand comm = new SqlCommand("EXEC UpdateFilm " +
                   "@image='" + mass + "', " +
                   "@kod=" + treeView1.SelectedNode.Tag + "", con);


Попробй вот так:
Код

SqlCommand comm = new SqlCommand("UpdateFilm", con);
comm.CommandType = CommandType.StoredProcedure; //Присвоим команде тип - хранимая процедура.. 

//Добавим значения параметров
comm.Parameters.AddWithValue("@image", mass); 
comm.Parameters.AddWithValue("@kod",  treeView1.SelectedNode.Tag); 

--------------------
namespace informatik
PM MAIL   Вверх
retto
Дата 25.3.2008, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

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



informatik,  дружище, большое спасибо!!! Вот это выручил. smile 

Это сообщение отредактировал(а) retto - 26.3.2008, 15:16
PM MAIL   Вверх
informatik
  Дата 26.3.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Пожалуйста retto! Неплохо бы отметить тему как решенную...
--------------------
namespace informatik
PM MAIL   Вверх
retto
Дата 26.3.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

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



У меня такие же проблемы с апдейтом даты (datetime) как и с картинкой были. ТОесть довляться добавляется, выводится всё красиво, а вот апдейт делать почемуто нехочет. Может его надо делать как-то подругому?

Проблема решена, надо было просто принудительно конвертнуть в формат datetime

Это сообщение отредактировал(а) retto - 26.3.2008, 15:28
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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