|
![]() |
#1 |
Участник
|
Прикольно. Типа глюк
2 Hidden: А почему бы вам местами датасорсы не поменять - innerJoin все таки. Если конечно можно как-то здесь это сделать. Попробуйте просто в PL\SQL DEV сначала |
|
|
За это сообщение автора поблагодарили: Hidden (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от kashperuk
Прикольно. Типа глюк
2 Hidden: А почему бы вам местами датасорсы не поменять - innerJoin все таки. Если конечно можно как-то здесь это сделать. Попробуйте просто в PL\SQL DEV сначала |
|
![]() |
#3 |
Участник
|
а вот интересно...
Быстренько сделал простейший примерчик лукапа из двух табличек, типа паказать пользователей из группы админов.
Код: public void lookup() { SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNUm(UserInfo),this); Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; ; queryBuildDataSource = query.addDataSource(tableNum(UserInfo)); queryBuildDataSource = queryBuildDataSource.addDataSource(tableNum(UserGroupList)); queryBuildDataSource.joinMode(JoinMode::InnerJoin); queryBuildDataSource.fetchMode(QueryFetchMode::One2One); queryBuildDataSource.relations(true); queryBuildRange = queryBuildDataSource.addRange(fieldNum(UserGroupList, groupId)); queryBuildRange.value("Admin"); sysTableLookup.addLookupfield(fieldNum(UserInfo, Id)); sysTableLookup.addLookupfield(fieldNum(UserInfo, Name)); sysTableLookup.addLookupfield(fieldNum(UserInfo, Enable)); sysTableLookup.addLookupfield(fieldNum(UserGroupList, groupId)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } Код: SELECT * FROM UserGroupList WHERE UserInfo.id = UserGroupList.userId AND ((groupId = Admin)) ![]() не поленился, посмотрел в профайлере сиквела что получает сервер: Код: exec sp_cursorprepexec @P1 output, @P2 output, N'@P1 varchar(1000)', N'SELECT A.ID,A.NAME, A.ENABLE,A.RECVERSION,101090,B.USERID,B.GROUPID,B.MODIFIEDDATE,B.MODIFIEDTIME, B.MODIFIEDBY,B.CREATEDDATE,B.CREATEDTIME,B.CREATEDBY,B.RECVERSION,B.RECID FROM USERINFO A WITH( NOLOCK),USERGROUPLIST B WITH( NOLOCK) WHERE ((B.GROUPID=@P1) AND (A.ID=B.USERID)) ORDER BY A.ID OPTION(FAST 1)', @P3 output, @P4 output, @P5 output, 'Admin' |
|
|
За это сообщение автора поблагодарили: DTD (1). |
|
![]() |
||||
Тема | Ответов | |||
How-to. Слетание пользовательских настроек в формах после вызова lookup, или MS - suxx. | 2 | |||
Создание Lookup формы | 9 | |||
lookup - проблема. Помогите! | 14 | |||
LookUp | 3 | |||
Фильтрация в lookup | 2 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|