Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Поиск картинок в SQLite


Автор: Iskin 20.7.2016, 21:56
Доброго времени суток!

WPF + SQLite

Имеем - в БД  таблица 'test' с полем 'image' типа BLOB (пробовал и binary - не помогло)

Добавление картинки в базу:
Код

//получаем скриншот области экрана
Bitmap bitmap =_cScreen.GetScreenShot(ValueX, ValueY, ValueWidth, ValueHeight);
MemoryStream MStream = new MemoryStream();
bitmap.Save(MStream, ImageFormat.Bmp);
byte[] data = MStream.ToArray();

//загоняем в базу
ParametersCollection param = new ParametersCollection();
param.Add("image", btBytes, DbType.Binary);
int res = _cDbFacadeSqLite.Insert("test", param);
 

Задача - снять скриншот с экрана и выполнить поиск в БД на совпадение!

Помогите правильно запрос к базе оформить. Мои попытки возвращают null (DataTable temp) - при 100% наличии такого же изображения в БД

Поиск совпадения в базе:
Код

//получаем скриншот области экрана
Bitmap bitmap =_cScreen.GetScreenShot(ValueX, ValueY, ValueWidth, ValueHeight);
MemoryStream MStream = new MemoryStream();
bitmap.Save(MStream, ImageFormat.Bmp);
byte[] data = MStream.ToArray();

//ищем
DataTable temp = new DataTable();
temp = _cDbFacadeSqLite.Execute("SELECT * FROM test WHERE image ='" + data + "'");
 


Автор: Romikgy 22.7.2016, 14:30
не будет sqlite делать сравнение в blob полях..... извлекайте все и делайте сравнения сами

Автор: LSD 25.7.2016, 16:59
Blob-ы не сравниваются в большинстве СУБД. Да и сама идея сравнивать их плохая. Надо сравнивать не сами блобы а например хеши.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)