Путь разработчика    

Отображать изображения в базе данных Access в WPF и C#

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

Когда программа запускается, следующий код подготавливает форму для отображения данных.

Python

Самый эффективный метод использования подключения к базе данных в .NET - это открыть их, принять меры и закрыть их в относительно коротких транзакциях. Программа может поддерживать соединение для последующего использования до тех пор, пока оно закрыто.

Этот код объявляет переменную OleDbConnection на уровне класса, чтобы она могла использовать ее во всем коде. Обработчик события Load формы создает строку, содержащую имя базы данных. Затем он создает объект OleDbConnection. В этом примере используется поставщик Microsoft.ACE.OLEDB.12.0, который работает для 64-разрядных систем, таких как мои. Это место, где вам, скорее всего, нужно будет внести изменения в программу.

(Чтобы найти строку подключения, которая работает для вашего компьютера и базы данных, запустите новый проект, откройте меню «Проект» и выберите «Добавить новый источник данных». Подключитесь к базе данных и посмотрите, какая строка подключения будет создана для вас.)

После создания соединения код создает объект OleDbCommand, который выбирает заголовки и связан с объектом соединения. Затем он открывает соединение и вызывает метод команды ExecuteReader для выполнения запроса. Он просматривает результаты, добавляя их в список ListBox программы, закрывает его и закрывает соединение.

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

Python

Этот код создает объект OleDbCommand, связанный с соединением, для выбора данных для выбранного заголовка. Затем он открывает соединение и выполняет метод ExecuteReader команды. Затем он копирует результирующие URL-адреса, данные Year, ISBN и Pages в TextBox es.

Если возвращаемое поле № 6 имеет значение null, запись не имеет изображения. В этом случае код устанавливает свойство imgCover Image элемента управления Изображение в null, чтобы он ничего не отображал.

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

В следующем коде показан метод BytesToImage, который наиболее интересен для примера.

Python

Этот метод создает новый объект BitmapImage. Затем он создает MemoryStream, связанный с байтовыми данными, полученными из базы данных.

Он устанавливает позицию потока в начало и вызывает метод BitmapImage BeginInit, чтобы указать, что он собирается установить свойства объекта. Он устанавливает некоторые свойства, а затем устанавливает свойство StreamSource изображения в MemoryStream. Когда код вызывает EndInit, изображение загружается из потока. Затем метод возвращает результат BitmapImage.

Источник: http://csharphelper.com/blog/2015/07/display-images-in-an-access-database-in-wpf-and-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Установить положение видео с помощью полосы прокрутки с помощью WPF в C#

Пример Управление видео с помощью WPF MediaElement в C# позволяет вам установить положение видео несколькими способами. Вы можете использовать кнопки Next...

06 08 2020 7:35:38

Treeset в Java

Класс TreeSet реализует интерфейс Set, поддерживаемый TreeMap. Он создает коллекцию, которая использует дерево для хранения. Объекты хранятся в отсортирова...

05 08 2020 13:21:10

Отображать данные master-detail в DataGrid в C#

Во время разработки я добавил проект Database.mdb в проект, установил его свойство «Build Action» в « Содержимое» и установил его свойство « Копировать в вых...

04 08 2020 7:51:57

Как генерировать случайные целые числа в определенном диапазоне в Java

В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом: min: минимальное значение max: максимальное значение Пример...

03 08 2020 16:53:26

Отображение местного времени и GMT в C#

В этом примере используется Timer для выполнения следующего кода каждые полсекунды. Вначале используется DateTime.Now для получения текущей даты и времени....

02 08 2020 12:29:39

Нарисуйте треугольник Серпинского в C#

В этом примере показано, как нарисовать треугольник Серпинского. Сообщение Нарисуйте прокладку Sierpinski на C# показывает довольно странный итеративный сп...

01 08 2020 6:22:49

Программирование на Java

Сокет - одна из самых фундаментальных технологий программирования компьютерной сети. Это способ подключения двух узлов в сети для связи друг с другом. Прог...

31 07 2020 13:18:56

Является ли Java «pass-by-reference» или «pass-by-value»?

Прежде всего, мы должны понимать, что подразумевается под передачей по значению или передачей по ссылке. передается по ссылке Когда параметр передается по...

30 07 2020 19:29:19

Как сделать прозрачные изображения на C#

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

29 07 2020 5:13:53

Анимация изображений в C#

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

28 07 2020 2:53:47

Как генерировать случайные целые числа в определенном диапазоне в Java

В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом: min: минимальное значение max: максимальное значение Пример...

27 07 2020 5:38:15

Использование элементов управления Windows Forms, чтобы сделать расширитель в C#

WPF, Silverlight, Metro или все, что Microsoft называет этим материалом, теперь дни имеют несколько полезных элементов управления в пространстве имен Syste...

26 07 2020 17:43:31

This в JavaScript

This ключевое слово является одним из самых запутанных и непонятных частей JavaScript. Ключевое слово this this ведет себя по-разному в JavaScript по сравн...

25 07 2020 3:25:39

Java 8. Полное руководство (Шилдт Герберт)

Книга Java 8. Полное руководство является исчерпывающим руководством по программированию на языке Java. В этом справочном пособии, полностью обновленном с...

24 07 2020 16:38:22

Основы программирования в Embarcadero Delphi (Никита Культин)

Книга представляет собой практическое руководство по программированию в Embarcadero Delphi. В ней представлена технология визуального проектирования и собы...

23 07 2020 16:49:20


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69