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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.01.2002, 10:27   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Еще раз о Query
Чем больше разбираюсь с запросами, тем все непонятнее становится. (

Если с созданием запросов в АОТ еще все более-менее понятно то при создании из кода уже не все так гладко.

1. Куда возвращается результат выражений типа: select * from CustTable;

В документации сказано: The result will always be returned in the table variable. Тогда почему следующий код вызывает ошибку:

<pre> CustTable ct;
ct = select * from CustTable;

Eсли я делаю так:

CustTable ct;
select * from ct where .....;

</pre>
&nbsp;
как я понимаю, результат сохраняется в ct.

А что происходит в случае выборки из двух таблиц ? То есть, если я пишу:

CustTable ct;
VendTable vt;

select * from ct,vt where .....

Где в данном случае сохранится результат ?

2. В Аксапте есть классы: Query, QueryBuildDataSource, QueryBuildRange, QueryBuildLink, QueryBuildDynalink, QueryRun. Почему я не вижу их в АОТ ?

3.<pre> QueryRun qr;
Query NewQuery;
QueryBuildDataSource bb;
QueryBuildRange br;

NewQuery = new Query ("MyQuery");
bb = NewQuery.AddDataSource (TableNum(CustTable));
br = bb.AddRange (fieldNum(CustTable, AccountNum));
br.value ("1500..2000");
qr = new QueryRun (NewQuery);

</pre>
&nbsp;
Как я понимаю, выполнив этот код я должен получить в qr искомый набор данных. Почему же если я пытаюсь затем сделать следующее:
<pre>if (qr.prompt())
{
while (qr.next())
{
print qr.AccountNum; // !!! Ошибка !!!
}
}
</pre>
&nbsp;
компилятор сообщает об ошибке. Как обратиться к определенному полю в выборке? А как узнать количество записей возвращенных запросом ?


Еще больше удивляет то, что запросы реализованны именно так и не иначе. ((

Насколько я помню в рекламных проспектах Аксапты сообщалось о возможности использования SQL напрямую в коде программы. Вышеприведенный код, который, кстати, взят из справочной системы, свидетельсвует об обратном.

Извините за столь обширный вопрос, но на службу поддержки особой надежды нет (((

<hr>

<i>Отредактировал Роман Кошелев, используя тег &lt;pre&gt;
см. http://www.axforum.info/forums/showt...=&threadid=177
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: QueryRun and Query Objects - Binding operation failed to allocate buffer space Blog bot DAX Blogs 0 03.04.2009 08:05
palleagermark: Sample union query from AX 2009 Blog bot DAX Blogs 0 11.07.2008 20:05
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Установка условия ИЛИ (OR) в Query Zeratul DAX: Программирование 3 22.06.2006 14:28
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:21.