![]() |
#1 |
Участник
|
Query, где почитать?
Всем добрый день!
Подскажите новичку, где можно почитать о том как строить запросы при помощи Query? А то ничего толкового найти не могу, пара простых примеров и все. Пока просто эту область не особо понимаю. Может укажите, где оно нормально расписано? |
|
![]() |
#3 |
Участник
|
угу.
а главное - понимать: Query - это класс, который помогает подготовить текстовую строку запроса. Грубо говоря, результатом работы Query является строка "select ... from ... where ... join" QueryRun - это класс исполнитель запроса. Результатом являются записи, полученные от SQL-сервера после выполнения Query. Вот и вся премудрость ![]() Остальное - дело техники |
|
![]() |
#4 |
Участник
|
mazzy, спасибо
это я как раз понимаю ![]() |
|
![]() |
#5 |
Участник
|
http://www.axaptapedia.com/index.php?title=Query_class
Ещё там на аксаптапедии есть интересный проект: http://www.axaptapedia.com/SYS_ExpressionQueryBuilder Методом реверс-инжиниринга можно из него получить нужные вам знания ![]() |
|
![]() |
#6 |
Участник
|
Цитата:
создайте объект-прототип в AOT. в коде напишите всего-лишь X++: Query q = new Query(querystr(myEpicQueryinAOT)); |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() http://www.axaptapedia.com/index.php?title=Query_class
Ещё там на аксаптапедии есть интересный проект: Получается слишком много кода. Код создания Query, как правило, разбросан по разным методам. (См. InventSum::newQuery и еще три метода модификации запроса по InventSum) Получается слишком сложно поддерживаемо. Просто создайте объект в AOT. В коде модифицируйте его. Желательно при помощи SysQuery::findOrCreateRange() или при помощи Global::findOrCreateRange_W() |
|
![]() |
#8 |
Участник
|
Не, я не предлагал ExpressionQueryBuilder в качестве пособия к применению (также эту фразу прошу не считать агитацией против этого паттерна; для обсуждения данного паттерна помнится была отдельная ветка). Я всего лишь предложил в качестве изучения возможностей Query провести реверс-инжиниринг этой штуковины. По моему очень наглядно. Если знаешь как написать запрос "select", то можно понять как этот же запрос реализуется через Query.
Последний раз редактировалось S.Kuskov; 09.11.2012 в 12:55. |
|
|
За это сообщение автора поблагодарили: mazzy (2), Andy-k (1). |
![]() |
#9 |
Участник
|
|
|