powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Не могу загрузить картинку из поля с типом "вложение" access 2007
10 сообщений из 10, страница 1 из 1
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35534488
MihaNikUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех.
Сталкнулся с проблемой, что используя поле "вложение" в access 2007 результат запроса возвращает не картинку, а имя файла вложенной картинки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class PhotoManager
{    
public static Stream GetPhoto(int photoid)    
{        
using (OleDbConnection ODBCon = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))        
{            
using (OleDbCommand ODBCm = new OleDbCommand("Foto", ODBCon))                
{                    
ODBCm.CommandType = CommandType.Text;                    
ODBCm.CommandText = "SELECT News_foto FROM News WHERE (News_id = :id)";
ODBCm.Parameters.Add(new OleDbParameter("id", photoid));                    
ODBCon.Open();                    
object result = ODBCm.ExecuteScalar();                    
try                    {                        
return new MemoryStream((byte[])result);                    }                        
catch                    {                       
 return null;                    }                }        }    }}

ODBCm.ExecuteScalar() возвращает тип String, поэтому return null, а хотелось бы картинку.

Повторюсь, что News_foto имеет тип "Вложение".

Что я делаю не так и как мне это исправить?
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35534663
vagner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так может Аксес так и хранит вложения - в виде имени файла? А когда он (Аксес) показывает таблицу с вложением, то сам подгружает файл. А вот в одбс этого (подгрузки файла) не сделали.
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35535016
Begem0t!k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу предположить что надо читать ее ExecuteReader'ом c SequentialAccess но это для ADO для ODbc не знаю.
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35535488
MihaNikUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Begem0t!kМогу предположить что надо читать ее ExecuteReader'ом c SequentialAccess но это для ADO для ODbc не знаю.

Begem0t!kМогу предположить что надо читать ее ExecuteReader'ом c SequentialAccess но это для ADO для ODbc не знаю.

Если есть возможность дай ссылочку на help или пример по SequentialAccess... Я не слишком силен в терминалогии.

Новый тип данных — Attachment(«Вложение») позволяет легко сохранять все типы документов или двоичных файлов в базе данных, автоматически сжимая их при этом. Причем одна запись может содержать несколько прикрепленных файлов. Импорт и экспорт информации стали проще и разрешают сохранять часто используемые операции импорта и экспорта для быстрого повторного применения. Причем для сбора или обновления данных в таблице Office Access 2007 можно использовать электронную почту, что обеспечивается интеграцией с Office Outlook 2007. Автоматический или ручной импорт данных позволяет усовершенствовать сбор данных для отслеживания.

Вложения можно использовать для хранения нескольких файлов в одном поле, причем в этом поле можно хранить файлы разных типов. Например, в базе данных рабочих контактов можно добавить к записи каждого контакта одно или несколько резюме, а также фотографию.

Вложения также позволяют хранить данные более рационально. В более ранних версиях приложения Access для хранения изображений и документов использовалась технология OLE (Object Linking and Embedding — связывание и внедрение объектов). По умолчанию с помощью технологии OLE создавался растровый эквивалент изображения или документа. Такие растровые файлы могут быть слишком большими — иногда в 10 раз больше исходного файла. При просмотре изображения или документа из базы данных с помощью технологии OLE отображалось растровое изображение, а не исходный файл. При использовании вложений документы и другие файлы, не являющиеся изображениями, открываются в соответствующих программах, так что эти файлы можно находить и редактировать непосредственно в приложении Access.

В приложении Office Access 2007 предусмотрены объектная модель и интерфейсы программирования для вложения файлов в записи программным путем с помощью кода VBA (Visual Basic для приложений). Сведения о вложении файлов программным путем см. статьи «LoadFromFile» и «SaveToFile» на веб-узле Microsoft Developer Network — http://msdn.microsoft.com.

Я ранее сказал, что занимаюсь программерством не профессионально, мож кто нить сможет написать мааааааааленький кусочек кода который выцепит байты картинок из нового Микрософтовского поля "Вложение".

Думаю в дальнейшем это может пригодиться многим разработчикам и будет меньше таких же глупых вопросов в форуме.
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35538756
MihaNikUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что с такой проблемой ни кто не сталкивался. Буду ждать обновление по MSDN.
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35538881
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется какой-то специальный синтаксис для извлечения аттачментов - с ходу не вспомню.
<имяполя>.<непомнюназваниясвойства>
Если аттачментов несколько - будет возвращено несколько записей, количество записей тоже доступно.
Для обновления тоже есть костыли.

Ищите.

А если влом искать - воспользуйтесь DAO
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35539085
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
select myatt.filedata, myatt.filename, myatt.filetype from mytbl
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #35541111
MihaNikUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо! Получилось.
...
Рейтинг: 0 / 0
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #36082213
florbel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, коллеги!
Поясните, пожалуйста, как Вы работаете с полем <myatt.filedata>.

Модератор: Тема перенесена из форума "C#.NET".
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не могу загрузить картинку из поля с типом "вложение" access 2007
    #37758837
Фотография bbx1389
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
недопонял, можно "сразу" из бд в picturebox или вначале создать файл в какой-нибудь временной директории , показать картинку в picturebox, а потом его удалить?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Не могу загрузить картинку из поля с типом "вложение" access 2007
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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