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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранение картинок в Access 
V
    Опции темы
fanat
Дата 9.3.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здраствуйте!!!

Помогите разобраться.
Хочу хранить картинки (bmp, jpeg и т.д.) в БД Access.
Читаю файл:
FileStream fs = new FileStream("c:\\1.jpg", FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);

Как мне теперь загнать его в Access и потом читать из нее?

PM MAIL   Вверх
mr.DUDA
Дата 9.3.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Надо завести в Access поле с типом "Поле объекта OLE" и в запросе передавать двоичные данные. Заполнить это поле прямо в Access довольно просто, а вот как через код... smile


--------------------
user posted image
PM MAIL WWW   Вверх
fanat
Дата 9.3.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(mr.DUDA @ 9.3.2006, 13:44)
Надо завести в Access поле с типом "Поле объекта OLE" и в запросе передавать двоичные данные. Заполнить это поле прямо в Access довольно просто, а вот как через код...  smile

Ну эт я знаю...а вот как через код?
жду советов
PM MAIL   Вверх
fanat
Дата 9.3.2006, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Что-то вроде наворотил.....работающее. smile
воспринимайте.....мож кому и пригодится.
...............................................................................................................................
this.oleDbSelectCommand1.CommandText = "SELECT a, date_birthday, name_people, Код, photo FROM peoples";
this.oleDbSelectCommand1.Connection = this.oleDbConnection1;
................................................................................................................................
FileStream fs = new FileStream("c:\\2.jpg", FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
// Создание комманды INSERT
string insQry = "";
insQry+="INSERT INTO peoples( ";
insQry+=" a,name_people,date_birthday,photo) ";
insQry+=" VALUES (@a,@name_people,@date_birthday,@photo) \n";
OleDbCommand insCmd = oleDbConnection1.CreateCommand();
insCmd.CommandText = insQry;
// Определение переменной для упрощения
// доступа к коллекции параметров.
OleDbParameterCollection insParams = insCmd.Parameters;
// Определение параметров.
insParams.Add("@a",OleDbType.Integer,0,"a");
insParams.Add("@name_people",OleDbType.Char,0,"name_people");
insParams.Add("@date_birthday",OleDbType.Date,0,"date_birthday");
insParams.Add("@photo",OleDbType.Binary,0,"photo");
oleDbDataAdapter1.InsertCommand = insCmd;
DataSet ds2 = new DataSet();
oleDbDataAdapter1.Fill(ds2);
DataTable dt2 = ds2.Tables["peoples"];
DataRow newRow = dt2.NewRow();
newRow.BeginEdit();
newRow["a"]= 8;
newRow["name_people"]="Ткаченко Андрей";
newRow["date_birthday"]= "02.06.1980";
newRow["photo"] = buffer;
newRow.EndEdit();
dt2.Rows.Add(newRow);
oleDbDataAdapter1.Update(dt2);

System.IO.MemoryStream ms = new System.IO.MemoryStream();
ms.Write(buffer, 0, buffer.Length);
ms.Seek(0, System.IO.SeekOrigin.Begin);
Bitmap photo = new Bitmap(ms);

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

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

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

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


 




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


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

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