MAV Direct ODBC (Version 1.00) CLARION 6.3 ABC
Как в SQL (vs MySQL) найти уникальную запись(отпечаток пальца), которая в Кларионе находится
перебором всех записей в цикле (LOOP) путем сравнения
записи(отпечатка пальца) с оригиналом в базе.
Вроде как через оператор SELECT(SQL), но как только одну запись?!
Ниже как это реализовано на кларионе, как можно реализовать с
помощью шаблонов MAV MySQL?
===================================================
Template FILE,DRIVER('TOPSPEED'),NAME(GLO:TEMPLATE),PRE(TEM),CREATE,BINDABLE,THREAD
PK_IDTemplate KEY(TEM:IDTemplate),NOCASE,OPT,PRIMARY
LK_IDUser KEY(TEM:IDUser),DUP,NOCASE,OPT
AK_TemplateSize KEY(TEM:TemplateSize),DUP,NOCASE,OPT
N_TenplateBufferKey KEY(TEM:TemplateBuffer),NOCASE,OPT
Record RECORD,PRE()
IDTemplate LONG
IDUser LONG
TemplateSize LONG
TemplateBuffer STRING(1024) ! отпечаток пальца
END
END
View:Template VIEW(Template) !
!JOIN ALL FIELDS
END
ViewManager:Template.AddSortOrder(TEM:PK_IDTemplate)
ViewManager:Template.SetOrder('-TEM:IDTemplate')
ViewManager:Template.Open
ViewManager:Template.Reset
RUT:Counter = 0
LOOP UNTIL ViewManager:Template.Next()
RUT:Counter += 1
LOC:Result = FingerTemplate( |
4, | ! 4=сравнение Template
ADDRESS(LOC:VerifyScore), | ! отпечаток со сканера
ADDRESS(TEM:TemplateBuffer)| ! отпечаток с базы
)
IF LOC:Result = GR_MATCH ! отпечаток совпал
BREAK
END
END! LOOP
MAV SQL - как заменить Loop и view
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
MAV SQL - как заменить Loop и view
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- StillZero
- Ветеран
- Сообщения: 454
- Зарегистрирован: 06 Июль 2005, 2:17
- Откуда: Хабаровск
- Контактная информация:
Re: MAV SQL - как заменить Loop и view
Не понятно на каком этапе возникает проблема. Даже топорно можно загрузить все записи с таблицы в очередь:
И также топорно бежать по очереди, а не по view как в приведенном примере
Код: Выделить всё
MAVLOAD( |
'SELECT
IDTemplate,
IDUser,
TemplateSize,
TemplateBuffer
FROM
Template', MyQueue)
Все сайты закрыты...
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Re: MAV SQL - как заменить Loop и view
Я думал что все проще, отбирается(находится) по условивию одна запись
и все А без очереди нельзя?
и все А без очереди нельзя?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- StillZero
- Ветеран
- Сообщения: 454
- Зарегистрирован: 06 Июль 2005, 2:17
- Откуда: Хабаровск
- Контактная информация:
Re: MAV SQL - как заменить Loop и view
У тебя функция FingerTemplate как то что то сравнивает, как мне неизвестно.
Тебе в рассылке ответили, что если ты сам писал эту функцию, то можешь переписать ее на mySQL как user defined function (или подключаемая dll, или .NET сборка, или еще как я хз), тогда можно будет одним запросом.
Есть желание... вперед.
Очередь - решение достаточно простое.
Тебе в рассылке ответили, что если ты сам писал эту функцию, то можешь переписать ее на mySQL как user defined function (или подключаемая dll, или .NET сборка, или еще как я хз), тогда можно будет одним запросом.
Есть желание... вперед.
Очередь - решение достаточно простое.
Все сайты закрыты...
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Re: MAV SQL - как заменить Loop и view
Я бы переписал, если бы знал SQL, поэтому и спрашиваю знатоков.
Моего понимания не хватает, чтобы сразу с клариона "прыгнуть" в sql - тяжело. Особенно
клашиного оператора get, выборка записей в sql по select и т.д
Тяжело перестроить философию, поэтому обратился к шаблонам А.Мялина, чтобы понять и оценить возможности и увидеть результат в sql для моего приложения. И если будет все ок, то зачем мне изобретать велосипед, купим шаблоны
Моего понимания не хватает, чтобы сразу с клариона "прыгнуть" в sql - тяжело. Особенно
клашиного оператора get, выборка записей в sql по select и т.д
Тяжело перестроить философию, поэтому обратился к шаблонам А.Мялина, чтобы понять и оценить возможности и увидеть результат в sql для моего приложения. И если будет все ок, то зачем мне изобретать велосипед, купим шаблоны
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп