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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранене изображения в Access, Помогите полуновичку:) 
:(
    Опции темы
headzero
Дата 25.11.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пишу программу для учета радиотехнических корпусов. Использую БД Access. Каждой детали соответствует свое изображение. Вопрос такой: можно ли в Access хранить изображения? Если да , то какой тип данніх ячейки должен ,быть. Как затем считать это изображение и поместиь на форму? И не повлияют ли такие пробразования на скорость программы.Буду рад примерам кода и комментариям. Спасибо

P.S. Для модераторов. Похожие темы читал и принял к свединью. Просто хочется еще примеров и разъяснений от компетентных лиц smile 


--------------------
Воображение важнее знания
                                                     (Алберт Эйнштейн)
PM MAIL   Вверх
thomas
Дата 25.11.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



headzero
В первой ссылке в низу страницы есть ответы на все ваши вопросы. Что-то новое добавить трудно.

Если лень возиться с байтами, то как вариант могу предложить хранить фото в отдельной папке, а базе данных хранить пути к файлам. 
Пример выбора фото и записи имени файла в БД
Код

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        dlgOpenFile.InitialDirectory = Application.StartupPath & "\foto" ' в папке .\bin\Debug создана папка foto
        dlgOpenFile.ShowDialog()
        Dim pad As String = dlgOpenFile.FileName
        Me.LG_fotoPictureBox.Image = Image.FromFile(pad) ' показали фото в пикчербоксе
        Dim ind As Integer = InStrRev(pad, "\foto")
        Me.LG_fotopathTextBox.Text = pad.Substring(ind - 1)
        Me.TblLesgeversBindingSource.EndEdit()
        Me.TblLesgeversTableAdapter.Update(Me.MyDataSetLeesgevers.tblLesgevers) ' внесли изменения в БД относительно имени файла фотографии
    End Sub




--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
headzero
Дата 25.11.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Cпасибо. А можно на С# подобный код. Что на VB.NET означает Me? Это эквивалент this. в С#?


--------------------
Воображение важнее знания
                                                     (Алберт Эйнштейн)
PM MAIL   Вверх
headzero
Дата 25.11.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Какой тип данных использовать в Access для хранения пути к файлу? 


--------------------
Воображение важнее знания
                                                     (Алберт Эйнштейн)
PM MAIL   Вверх
thomas
Дата 25.11.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



headzero
Ме = this.  smile 
что такое путь к файлу? строка ==> string (текстовый тип 255, вдруг у вас будет длинный путь).

Код

        dlgOpenFile.InitialDirectory = Application.StartupPath + "\foto";
        dlgOpenFile.ShowDialog();
        string pad = dlgOpenFile.FileName;
        this.LG_fotoPictureBox.Image = Image.FromFile(pad) ;
        int ind  = pad.LastIndexOf("\foto"); // возможно параметр должен быть таким ("\")
        this.LG_fotopathTextBox.Text = pad.Substring(ind - 1);
        this.TblLesgeversBindingSource.EndEdit();
        this.TblLesgeversTableAdapter.Update(Me.MyDataSetLeesgevers.tblLesgevers);



--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
kedicik
Дата 26.11.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



странно. А я использую как гиперссылку а не строку.

Добавлено через 1 минуту и 44 секунды
и если использоать гиперссылку то при клике на нее в access можно сразу открыть рисунок в редакторе
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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