Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как сохранить файл в БД

339
21 ноября 2006 года
verybadbug
619 / / 12.09.2005
подскажите, как можно сохранить данные файла в базу данных
337
21 ноября 2006 года
shine
719 / / 09.06.2006
В какую базу данных? MySQL? MSSQL?
339
21 ноября 2006 года
verybadbug
619 / / 12.09.2005
MSSQL
337
21 ноября 2006 года
shine
719 / / 09.06.2006
Создаешь табличку с полем типа image. Туда вставляешь свои файлы.

Еще подумай о таком варианте: файлы хранишь в файловой системе а в базе хранишь только пути к этим файлам на диске.
273
21 ноября 2006 года
3A3-968M
1.2K / / 22.12.2005
Можно выбрать тип Memo или вообще "сырой" тип и записывать в это поле побайтно файлы.
339
22 ноября 2006 года
verybadbug
619 / / 12.09.2005
блин... есть у меня уже БД и таблица с полем (Image)... меня интересует программное решение.... желательно asp.net c#... хочу сохранить Request.Files[0]

ps файлы и пути не пойдёт
273
22 ноября 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата: verybadbug
блин... есть у меня уже БД и таблица с полем (Image)... меня интересует программное решение.... желательно asp.net c#... хочу сохранить Request.Files[0]

ps файлы и пути не пойдёт


Как обычно подключаешься по connection-строке. Создаёшь адаптеры данных и обращаешься к таблицам. Где-то так:

Код:
[SIZE=2][COLOR=#0000ff][FONT=Courier New]using[/FONT][/COLOR][/SIZE][FONT=Courier New][SIZE=2] ([/SIZE][SIZE=2][COLOR=#008080]SqlConnection[/COLOR][/SIZE][SIZE=2] con = [/SIZE][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][SIZE=2][COLOR=#008080]SqlConnection[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#800000]"your connection string"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]))[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]{[/FONT][/SIZE]
[FONT=Courier New][SIZE=2][COLOR=#008080] DataSet[/COLOR][/SIZE][SIZE=2] ds = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]DataSet[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]();[/FONT][/SIZE]
[FONT=Courier New][SIZE=2][COLOR=#008080] SqlDataAdapter[/COLOR][/SIZE][SIZE=2] ad = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]SqlDataAdapter[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]SqlCommand[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#800000]"SELECT FILE FROM CLIENT_ID"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]));[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] ad.Fill(ds);[/FONT][/SIZE]
[FONT=Courier New][SIZE=2][COLOR=#0000ff] using[/COLOR][/SIZE][SIZE=2] (System.IO.[/SIZE][SIZE=2][COLOR=#008080]FileStream[/COLOR][/SIZE][SIZE=2] theFile = [/SIZE][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][SIZE=2] System.IO.[/SIZE][SIZE=2][COLOR=#008080]FileStream[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#800000]"path to file"[/COLOR][/SIZE][SIZE=2], System.IO.[/SIZE][SIZE=2][COLOR=#008080]FileMode[/COLOR][/SIZE][SIZE=2].Open, System.IO.[/SIZE][SIZE=2][COLOR=#008080]FileAccess[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New].Read))[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] {[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]   System.IO.[/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#008080]BinaryReader[/COLOR][/SIZE][SIZE=2] reader = [/SIZE][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][SIZE=2] System.IO.[/SIZE][SIZE=2][COLOR=#008080]BinaryReader[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New](theFile);[/FONT][/SIZE]
[FONT=Courier New][SIZE=2][COLOR=#0000ff]   byte[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New][] buffer = reader.ReadBytes(theFile.Length);[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]   ds.Tables[[/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"CLIENTS"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]].Rows[0].ItemArray[0] = buffer;[/FONT][/SIZE]
[SIZE=2][FONT=Courier New] }[/FONT][/SIZE]
[SIZE=2][FONT=Courier New]}[/FONT][/SIZE]

ItemArray - обращение к первому столбцу первой строки (например, там будет находиться файл). С помощью файлового потока получаешь массив байтов и записиваешь в таблицу. Проверь, чтобы тип поля таблицы соответствовал типу System.Data.SqlTypes.SqlBinary
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог