Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2017, 09:01   #1
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию Sqlce непрерывный поиск

как в sqlce сделать следующее

допустим два столбца, ищешь значение в первом столбе, если значение true то берешь значение со второго столбца с этой же строки если во втором столбце false, то продолжить поиск в первом столбце до тех пор пока во втором столбце не будет true(т.е поиск в первом столбце продолжается а не начинается занаго)

если это возможно то не могли бы вы подсказать как или ссылку дать?
Lord_Jesus_ вне форума Ответить с цитированием
Старый 31.05.2017, 09:04   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Запросом, where по двум полям, order by соответствующий, top 1 если нужно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.05.2017, 09:17   #3
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Запросом, where по двум полям, order by соответствующий, top 1 если нужно
суть в приложения...
загружается картинка с отпечатком пальца, идет распознавание отпечатка, после идет проверка отпечатка есть ли он в базе, если да то выводит все данные с этим отпечатком, если нет то вносит эти данные в базу

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

я так и сделал
распознает отпечаток по точкам а потом их сверяет с другими точками координатами

теперь есть одна проблема которую я незнаю как решить...

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

если при поиске в базе найдет такое же количество точек то после я вытаскиваю сам опечаток и свиряю уже сам отпечаток по координатам, естественно результат будет отрицательным, как в таком случае продолжить поиск?

подойдет тот вариат который вы предложили? и как использовать "top 1" я не совсем понял, если не сложно объясните пожалуйса по подробнее или дайте ссылку от куда я могу получить необходимую информацию
Посоветуйте пожалуйста что нибудь

Заранее огромное спасибо
Lord_Jesus_ вне форума Ответить с цитированием
Старый 02.06.2017, 08:00   #4
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Неужели нет какогото решения?((((
Lord_Jesus_ вне форума Ответить с цитированием
Старый 02.06.2017, 09:17   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Неужели нет какогото решения?((((
Решение-то есть, НО...
нет данных на которых это решение можно "формализовать"
КАК понимаю НАДО искать в базе наиболее "совпадающие".
Так вот Нет никакого понимания что есть такое совпадение в понятияx полей таблиц БД.
И КАК можно измерить это самое совпадение (нет меры совпадений).
А без этого, увы ...
------------------
Цитата:
чтобы не искать саму картинку в базе мне посоветовали хранить в базе сами данные об отпечатки,
Цитата:
если при поиске в базе найдет такое же количество точек
ВОПРОС!!! мера совпадения есть ОТКЛОНЕНИЕ(абсолютная величина разности) числа точек в проверяемом и имеющихся в БД

да-да-да (не сомневаюсь в таком ответе, даже если на самом деле и нет)
ответ
Код:
select top 10  --десять лучших
  id,  --код найденных ("подходящих") отпечатков
  abs( 30 - cnt) --мера отклонения от 30
from t
where abs( 30 -cnt )<=5 -- только с разницей ДО 5 точек
order by 2 -- сначала те где отклонение меньше
P.S. Мартин Грубер. Понимание SQL. книга-азбука по SQL.

При ДРУГОМ алгоритме расчета отклонения и ответ(код) будет другим. Но пока алгоритма "расчета" отклонений НЕТ.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.06.2017 в 09:26.
evg_m вне форума Ответить с цитированием
Старый 02.06.2017, 09:42   #6
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Цитата:
evg_m

Цитата:
Сообщение от evg_m Посмотреть сообщение
select top 10 --десять лучших
id, --код найденных ("подходящих") отпечатков
abs( 30 - cnt) --мера отклонения от 30
from t
where abs( 30 -cnt )<=5 -- только с разницей ДО 5 точек
order by 2 -- сначала те где отклонение меньше

большое спасибо за внятное объяснение
вы мне помогли разобраться с поиском данных

а как теперь можно вытаскивать картинку и проверять сов падает она или нет, наверное нужно будет сделать в цикле? сможете подсказать как пожалуйста???
Lord_Jesus_ вне форума Ответить с цитированием
Старый 02.06.2017, 19:38   #7
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Решение-то есть
как вытаскивать картинку я знаю, но как подстроить под ваш запрос незнаю
чтобы картинка тоже вытаскивалась в цикле и свирялась,,,
Lord_Jesus_ вне форума Ответить с цитированием
Старый 02.06.2017, 20:24   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1 получать картинки сразу при поиске (из-за объема возможно "подтормаживание" поиска)
Код:
select top 10 --десять лучших
id, --код найденных ("подходящих") отпечатков
abs( 30 - cnt),  --мера отклонения от 30
.... и ДРУГИЕ нужные поля (к примеру та же картинка, нужная для визуального сравнения)
from ....
2. получать картинку ПОТОМ, когда пользователь САМ решит, какой из предложенных вариантов он хочет проверить.
берем ВТОРОЙ набор данных. и пишем новый запрос
Код:
select id, <и прочие поля нужные для "рисования" >
from t
where id=<а собственно какую картинку хочет пользователь>
берем данные (id) из ПЕРВОГО набора (собственно для этого и нужен второй НД, чтобы мы не "забыли" какие же записи нам подхлдят).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 03.06.2017, 10:21   #9
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
берем данные (id) из ПЕРВОГО набора (собственно для этого и нужен второй НД, чтобы мы не "забыли" какие же записи нам подхлдят).
огромное вам спасибо за помощь все получилось
Lord_Jesus_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQLCE. Как выполнить проверку наличия данных? Lord_Jesus_ Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 5 22.05.2017 17:11
импорт Excel в SqlCe Lord_Jesus_ C# (си шарп) 12 12.12.2016 14:48
Непрерывный рюкзак Evil Nigga Паскаль, Turbo Pascal, PascalABC.NET 8 10.08.2014 23:43
Поиск по всей таблице непрерывный Cyclops БД в Delphi 1 13.08.2012 13:25
Непрерывный звук в системнике Utkin Компьютерное железо 9 17.12.2009 06:49