AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.11.2012, 23:50   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Narayana Посмотреть сообщение
И в следующем посте от Сергея Мазуркина вижу "Грубо говоря, результатом работы Query является строка "select ... from ... where ... join" "

Товарищи Заслуженные Аксаптоведы, вы уж тогда между собой договоритесь...
1. "следюущий пост" - это вот этот Query, где почитать?
2. противоречия нет.

есть следующие сущности. две из них имеют одинаковое название:
2.1. Query - объект, который позволяет строить СТРОКУ ЗАПРОСА вида "select ... from ... where ... join ...". Эта строка запроса так или иначе уходит на SQL-сервер.
2.2. QueryRun - объект, который принимает Query и фактически посылает строку на SQL, принимает результаты из SQL.
2.3. есть ОПЕРАТОР языка X++ select (http://msdn.microsoft.com/en-us/library/aa861766.aspx) (S.Kuskov назвает командой языка)
в результате выполнения оператора также уходит запрос на SQL-сервер и тут же принимаются результаты с SQL

так вот:
Query позволяет легко модифицировать СТРОКУ запроса программным образом.
Query позволяет работать с метасимволами поиска http://axapta.mazzy.ru/lib/search/
Query позволяет дать пользователю возможность модифицировать запрос
Query позволяет разработчику создать объект-прототип в AOT и потом легко создать запрос (Query q = new Query(querystr(myQueryInAOT)))

X++:
Query q = new Query(querystr(CustTable));
QueryRun qr = new QueryRun(q);
CustTable custTable;

while( qr.next() )
{
  custTable = qr.get(tablenum(custTable));
  info(custTable.name);
}
оператор языка SELECT нельзя модифицировать никоим образом.
и в простейших ситуациях программисты часто используют именно его, предполагая, что "так проще".
X++:
CustTable custTable;

while select custTable
{
  info(custTable.name);
}

различайте оператор языка X++ select и строку SQL-запроса, которая содержит select
За это сообщение автора поблагодарили: driller (2), Narayana (1).
Теги
query, архитектура, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обновление поля с определённым типом во всех таблицах. Corel DAX: Программирование 1 20.12.2008 13:37
Достаточно ли изменить дату в таблицах inventTrans, inventTransPosting, VendPackingSlipJour? DmitryS DAX: Программирование 3 18.09.2008 14:37
Проверки заполненных значений в связанных таблицах. miklenew DAX: База знаний и проекты 11 25.12.2007 14:40
Как не использовать relations на таблицах demetra DAX: Программирование 13 14.07.2006 11:00
Осторожнее с CTRL+S на таблицах mit DAX: Администрирование 7 25.07.2005 19:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:31.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.