MAV SQL - как заменить Loop и view
Добавлено: 11 Январь 2010, 18:43
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
Как в 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