|
Модераторы: gambit |
|
fanat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 и потом читать из нее? |
|||
|
||||
mr.DUDA |
|
|||
3D-маньяк Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Надо завести в Access поле с типом "Поле объекта OLE" и в запросе передавать двоичные данные. Заполнить это поле прямо в Access довольно просто, а вот как через код...
-------------------- |
|||
|
||||
fanat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.3.2006 Репутация: нет Всего: нет |
Ну эт я знаю...а вот как через код? жду советов |
|||
|
||||
fanat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.3.2006 Репутация: нет Всего: нет |
Что-то вроде наворотил.....работающее.
воспринимайте.....мож кому и пригодится. ............................................................................................................................... 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; |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |