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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.05.2006, 17:32   #1  
murad is offline
murad
Участник
 
55 / 10 (1) +
Регистрация: 05.10.2005
? Простой вопрос про AxaptaRecord.ExecuteStmt
В документации по IAxaptaRecord сказано, что выражение в методе ExecuteStmt должно быть вида "select * from %1 where %1.Name == ‘Axapta’"
Как я понял, условие можно формировать как хочешь, но при этом просто вместо имени таблицы вставлять %1.

Но у меня не проходит запрос
select * from %1 where %1.Name LIKE ‘*Axapta’ AND %1.FIELD=='1'
Значения в базе точно есть, но ничего не находит.
По отдельности %1.Name LIKE ‘*Axapta’ и %1.FIELD=='1' работают без проблем.
Может нельзя задавать несколько условий одновременно? или какой-то другой синтаксис нужно использовать?
Старый 19.05.2006, 17:39   #2  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
The statement must be an Microsoft Axapta X++ statement

Замените AND на &&
Старый 19.05.2006, 18:00   #3  
murad is offline
murad
Участник
 
55 / 10 (1) +
Регистрация: 05.10.2005
Цитата:
Сообщение от Hezl
The statement must be an Microsoft Axapta X++ statement
Замените AND на &&
Заменил
Всё равно после

m_axRec.ExecuteStmt("SELECT * FROM %1 WHERE ((%1.SalesID LIKE '*ЗАК00001151') && (%1.LineNum=='1'))");

m_axRec.Found остается false.
Старый 19.05.2006, 18:20   #4  
murad is offline
murad
Участник
 
55 / 10 (1) +
Регистрация: 05.10.2005
А что если выполнить 2 раза ExecuteStmt, сначала с одним условием, а потом со вторым?
Криво конечно, но всё же...
Но я не теряю надежды на нормальный SELECT с 2-мя условиями
Старый 19.05.2006, 19:16   #5  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Цитата:
Сообщение от murad
Заменил
Всё равно после

m_axRec.ExecuteStmt("SELECT * FROM %1 WHERE ((%1.SalesID LIKE '*ЗАК00001151') && (%1.LineNum=='1'))");

m_axRec.Found остается false.
Очень странное условие. LineNum=='1' точно выдает вашу строку? Дело в том, что lineNum вещественное c целым может не совпасть.

С уважением, itfs.
Старый 19.05.2006, 19:23   #6  
murad is offline
murad
Участник
 
55 / 10 (1) +
Регистрация: 05.10.2005
Цитата:
Сообщение от itfs
Очень странное условие. LineNum=='1' точно выдает вашу строку? Дело в том, что lineNum вещественное c целым может не совпасть.
Точно-точно, проверял по отдельности.
Не мог предположить, что на простой свиду вопрос ответа нет...

Последний раз редактировалось murad; 20.05.2006 в 17:19.
Старый 22.05.2006, 11:40   #7  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Цитата:
Сообщение от murad
Точно-точно, проверял по отдельности.
Не мог предположить, что на простой свиду вопрос ответа нет...
Если вы уверены, что никакий грубой ошибки не допустили, то подобное разночтение следует адресовать оптимизатору БД, который в одном случае ищет по индексу и находит, а в другом - по таблице и не находит. Чисто теоретически такое возможно, но встречается крайне редко, лучше еще раз себя проверить. Выполните эти запросы не из Аксапты, сравните результаты.

С уважением, itfs.
За это сообщение автора поблагодарили: murad (1).
Старый 22.05.2006, 17:06   #8  
murad is offline
murad
Участник
 
55 / 10 (1) +
Регистрация: 05.10.2005
Цитата:
Сообщение от itfs
Если вы уверены, что никакий грубой ошибки не допустили, то подобное разночтение следует адресовать оптимизатору БД, который в одном случае ищет по индексу и находит, а в другом - по таблице и не находит. Чисто теоретически такое возможно, но встречается крайне редко, лучше еще раз себя проверить. Выполните эти запросы не из Аксапты, сравните результаты.
С уважением, itfs.
Всем спасибо за ответы.
После поста itfs про float - сам виноват. И вправду надо LINENUM=1 без кавычек
Теперь работает
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Банковский перевод. Простой вопрос LEM DAX: Функционал 0 27.03.2008 14:41
Простой вопрос Rect DAX: Программирование 3 16.06.2006 18:38
Очень-очень простой вопрос AKIS-Falcon DAX: Программирование 23 06.07.2005 19:29
Еще 1 простой вопрос по пакетной обработке Smith DAX: Функционал 1 26.10.2004 17:55
Простой вопрос Novice DAX: Программирование 2 17.06.2003 14:54

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

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

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