Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
SQLite

Вывести изображение из sqlite в listbox

16.08.2014, 19:31. Показов 3786. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый всем вечер. Подскажите пожалуйста, как можно вывести изображения из бд sqlite в listbox в wpf ???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2014, 19:31
Ответы с готовыми решениями:

ListBox и Sqlite
Всем привет! Хочу сделать следующее: программа использует БД Sqlite, одна из кнопок создает item`ы и новые таблицы, список таблиц...

Сохранить изображение в SQLite
Здравствуйте форумчане. До сего дня писал клиент-серверные приложения в связке Qt и SQLite. Хранимые данные представляли собой типичную...

Сохранить изображение в SQLite
Здравствуйте! Есть приложение с БД. Помимо прочего я загружаю изображение в ImageView из галереи. Необходимо его сохранить в базе. Как...

18
ii
Заблокирован
16.08.2014, 21:26
Считать изображение оттуда можно так.
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
16.08.2014, 22:35  [ТС]
Это в случае win forms. А мне нужно, как то через класс сделать binding в listbox. Как это сделать?
0
ii
Заблокирован
17.08.2014, 03:01
Нужно изменить ItemTemplate у ListBox, чтобы внутри его элементов были картинки Image. Ну и дальше биндингами, да.
Вот тут пример с ItemTemplate Как отменить запуск анимации в Style.ItemTemplate
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
18.08.2014, 16:02
blackstar,
1) скорее всего, у вас в БД рисунок хранится в виде массива байт.
2) я так понял у вас собственный класс для представления строки таблицы БД
3) вы используете Binding чтоб привязать список строк.
4) следует реализовать IValueTypeConverter чтоб ListBox мог получить изображение из поля-массива байт.
подробнее про привязку данных
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
18.08.2014, 19:13  [ТС]
Learx можете подсказать, как можно вытащить этот массив байт из бд sqlite??? А то никак не получается, все вытаскивается кроме изображений. Как их вытащить?
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
18.08.2014, 21:42
https://www.cyberforum.ru/ado-... 26692.html
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
18.08.2014, 23:42  [ТС]
а для извлечения изображения, придется новый метод писать? или можно сделать извлечения изображений сразу с другими данными?
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
19.08.2014, 11:40
blackstar, нет,из БД вы получаете данные "как есть" в БД нет таких же типов как и в студии(в частности Bitmap) потому остается только получать массив байт и потом уже преобразовывать его в изображение. Можно это делать "на лету" при привязке, а можно сразу вручную создав столбец/поле и, обработав полученные данные, заполнить его нужными данными.
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
19.08.2014, 16:32  [ТС]
а как из бд вытащить эти байты??? в этом вся проблема
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 public static IList<Kontakti> GetKontakti()
        {
            const string commandText = @"SELECT Pasport_ID,
                               LastName, Name,
                               Birth, Doljnost, Phone, 
                               Adres, Email, Bio, Photo
                               FROM kontakti;";
            _Connection.Open();
 
            SQLiteCommand command = new SQLiteCommand(commandText, _Connection);
 
            var result = new List<Kontakti>();
 
            try
            {
                var reader = command.ExecuteReader();
                while (reader.Read())
                { 
                    var kontakt = new Kontakti
                    {
                        PasportID = reader.IsDBNull(0) ? 0 : reader.GetInt32(0),
                        LastName = reader.IsDBNull(1) ? string.Empty : reader.GetString(1),
                        Name = reader.IsDBNull(2) ? string.Empty : reader.GetString(2),
                        Birth = reader.IsDBNull(3) ? DateTime.Today : reader.GetDateTime(3),
                        Doljnost = reader.IsDBNull(4) ? string.Empty : reader.GetString(4),
                        Phone = reader.IsDBNull(5) ? string.Empty : reader.GetString(5),
                        Adress = reader.IsDBNull(6) ? string.Empty : reader.GetString(6),
                        Email = reader.IsDBNull(7) ? string.Empty : reader.GetString(7),
                        Bio = reader.IsDBNull(8) ? string.Empty : reader.GetString(8),
                      //  Photo = reader.IsDBNull(9) ? byte.MinValue[]; : reader.GetByte(9)
                    };
                    result.Add(kontakt);
                }
Как вытащить таким способ изображения Photo????
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
19.08.2014, 17:00
C#
1
byte b[] Photo =reader.IsDBNull(9) ? new byte[0] : (byte[])reader[9];
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
20.08.2014, 06:05
blackstar, у вас IntelliSense отлкючен? В IntelliSense после метода GetByte идет метод GetBytes.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
20.08.2014, 15:07
kodv, GetBytes возвращает указанное к-во байт. для фото он изменный. потому удобнее моим способом.
0
20.08.2014, 15:38

Не по теме:

Learx, я вообще способом Get[Тип] ни разу не пользовался. Все приведения выполняю в C-стиле. В C++ так не смог приучить себя к static_cast'ам, поэтому в C# даже и не пытался. Мой пост был направлен на то, чтобы указать ТС на его невнимательность.

0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
20.08.2014, 17:07  [ТС]
А как преобразовать массив байт, чтобы отображалось изображение???
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
20.08.2014, 17:35
Массив байтов сохраняете в MemoryStream, потом Image.FromStream
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
20.08.2014, 21:28  [ТС]
а как мне его сохранить в memorystream??? если я с бд получаю изображение таким способом:
C#
1
Photo =reader.IsDBNull(9) ? new byte[0] : (byte[])reader[9]
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
21.08.2014, 04:15
Цитата Сообщение от blackstar Посмотреть сообщение
как мне его сохранить в memorystream???
C#
1
MemoryStream memoryStream = new MemoryStream(Photo);
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
21.08.2014, 16:25  [ТС]
подскажите, как мне теперь сделать, чтобы Image.FromStream(memoryStream ) отображалась в listboxe ??? Никак не могу понять

Добавлено через 3 часа 21 минуту
как вставить в listbox из Image.FromStream(memoryStream)????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2014, 16:25
Помогаю со студенческими работами здесь

Заполнение sqlite данными из listbox С#
Help, не получается заполнить базу данными из listbox. Облазил весь интернет путного ничего нет. Помогите пожалуйста.

listBox c# sqlite база данных
Кто подскажит как быть? Создаю базу данных сотрудников. Есть ListBox в котором отображается ФИО а все остальные данные должны выходить в...

Вывод данных в ListBox из БД SQLite
Доброе время суток, не могу понять какой тип надо указать для listbox, что бы полученные данные через sqlite вывелись в listbox. в...

Сравнить два ListBox-а, совпадающие элементы вывести в третий ListBox
Друзья, есть два Listbox, в которых храниться значения = папка и путь( пример &quot;D:\папка) И во втором listbox папки как сравнить эти...

В ListBox вводится последовательность строк. Вывести их в ListBox в обратном порядке
Помогите пожалуйста решить задачу :) очень надеюсь на ответ... В ListBox вводится последовательность строк. Вывести их в ListBox в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru