powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / картинку из picturebox в БД
8 сообщений из 8, страница 1 из 1
картинку из picturebox в БД
    #34400000
serghey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привожу код которым я хочу загнать из pb(компонент picturebox) рисунок в БД:

SqlConnection sqlcon = new SqlConnection(source);
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand("i_ris", sqlcon);
sqlcom.CommandType = CommandType.StoredProcedure;

Object ImageFromPb =pb.Image;

byte[] b = (byte[])ImageFromPb;

if (b.Length > 0)
{
System.IO.MemoryStream str = new System.IO.MemoryStream(b, true);
str.Write(b, 0, b.Length);
pb.Image = (Bitmap)Image.FromStream(str);
//PrintControllerWithStatusDialog print=new PrintControllerWithStatusDialog( )

}

sqlcom.Parameters.Add("@ris", SqlDbType.Image).Value =image;
sqlcom.Parameters.Add("@number_doc", SqlDbType.VarChar).Value ="asdfa";
sqlcom.ExecuteNonQuery();
sqlcon.Close();
sqlcon.Dispose();

выводит ошибку:
Unable to cast object of type 'System.Drawing.Bitmap' to type 'System.Byte[]'.

дайте примерчик или поподробнее поясните
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34400007
serghey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовал из файла в бд все работает, по видимому ошибка в преобразовании типа. Как ее исправить?
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34400655
Мишаааааааааааааааа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
MemoryStream ms = new MemoryStream();

pictureBox1.Image.Save(ms, ImageFormat.Bmp);                        
            
Byte[] bData = new Byte[ms.Length];
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34400671
Мишаааааааааааааааа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу простить. Вот полный код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
MemoryStream ms = new MemoryStream();

pictureBox1.Image.Save(ms, ImageFormat.Bmp);                        
            
Byte[] bData = new Byte[ms.Length];

ms.Position =  0 ;            
ms.Read(bData,  0 , Convert.ToInt32(ms.Length));
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34401706
serghey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MemoryStream ms = new MemoryStream();

pb.Image.Save(ms, ImageFormat.Bmp);

Byte[] bData = new Byte[ms.Length];

ms.Position = 0;
ms.Read(bData, 0, Convert.ToInt32(ms.Length));

if (bData.Length > 0)
{
ms.Write(bData, 0, bData.Length);
pb.Image = (Bitmap)Image.FromStream(ms);
SqlConnection sqlcon = new SqlConnection(source);
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand("i_ris", sqlcon);
sqlcom.CommandType = CommandType.StoredProcedure;
sqlcom.Parameters.Add("@ris", SqlDbType.Image).Value = bData;
sqlcom.Parameters.Add("@number_doc", SqlDbType.VarChar).Value = "wqerwe32423";
sqlcom.ExecuteNonQuery();
sqlcon.Close();
sqlcon.Dispose();
}

рабочий вариант вставки в бд из зшсегкуищч
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34401713
serghey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в бд из picturebox, пардон, опечатка
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34401740
serghey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
//вставка картинки из pb в базу
MemoryStream ms = new MemoryStream();

pb.Image.Save(ms, ImageFormat.Bmp);

Byte[] bData = new Byte[ms.Length];

ms.Position = 0;
ms.Read(bData, 0, Convert.ToInt32(ms.Length));

if (bData.Length > 0)
{
ms.Write(bData, 0, bData.Length);
pb.Image = (Bitmap)Image.FromStream(ms);
SqlConnection sqlcon = new SqlConnection(source);
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand("i_ris", sqlcon);
sqlcom.CommandType = CommandType.StoredProcedure;
sqlcom.Parameters.Add("@ris", SqlDbType.Image).Value = bData;
sqlcom.Parameters.Add("@number_doc", SqlDbType.VarChar).Value = "wqerwe32423";
sqlcom.ExecuteNonQuery();
sqlcon.Close();
sqlcon.Dispose();
}


}

не работает в случае когда гружу в picturebox из файла картинку, а затем из picturebox в бд
...
Рейтинг: 0 / 0
картинку из picturebox в БД
    #34402041
serghey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос снят, все работает
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / картинку из picturebox в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]