|
|
#1 |
|
Участник
|
В документации по 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' работают без проблем. Может нельзя задавать несколько условий одновременно? или какой-то другой синтаксис нужно использовать? |
|
|
|
|
#2 |
|
Участник
|
The statement must be an Microsoft Axapta X++ statement
Замените AND на && |
|
|
|
|
#3 |
|
Участник
|
Цитата:
Сообщение от 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. |
|
|
|
|
#4 |
|
Участник
|
А что если выполнить 2 раза ExecuteStmt, сначала с одним условием, а потом со вторым?
Криво конечно, но всё же... Но я не теряю надежды на нормальный SELECT с 2-мя условиями
|
|
|
|
|
#5 |
|
Участник
|
Цитата:
Сообщение от murad
Заменил
Всё равно после m_axRec.ExecuteStmt("SELECT * FROM %1 WHERE ((%1.SalesID LIKE '*ЗАК00001151') && (%1.LineNum=='1'))"); m_axRec.Found остается false. С уважением, itfs. |
|
|
|
|
#6 |
|
Участник
|
Цитата:
Сообщение от itfs
Очень странное условие. LineNum=='1' точно выдает вашу строку? Дело в том, что lineNum вещественное c целым может не совпасть.
Не мог предположить, что на простой свиду вопрос ответа нет... Последний раз редактировалось murad; 20.05.2006 в 17:19. |
|
|
|
|
#7 |
|
Участник
|
Цитата:
Сообщение от murad
Точно-точно, проверял по отдельности.
Не мог предположить, что на простой свиду вопрос ответа нет... Чисто теоретически такое возможно, но встречается крайне редко, лучше еще раз себя проверить. Выполните эти запросы не из Аксапты, сравните результаты.С уважением, itfs. |
|
|
|
| За это сообщение автора поблагодарили: murad (1). | |
|
|
#8 |
|
Участник
|
Цитата:
Сообщение от itfs
Если вы уверены, что никакий грубой ошибки не допустили, то подобное разночтение следует адресовать оптимизатору БД, который в одном случае ищет по индексу и находит, а в другом - по таблице и не находит.
Чисто теоретически такое возможно, но встречается крайне редко, лучше еще раз себя проверить. Выполните эти запросы не из Аксапты, сравните результаты.С уважением, itfs. После поста itfs про float - сам виноват. И вправду надо LINENUM=1 без кавычек Теперь работает |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Банковский перевод. Простой вопрос | 0 | |||
| Простой вопрос | 3 | |||
| Очень-очень простой вопрос | 23 | |||
| Еще 1 простой вопрос по пакетной обработке | 1 | |||
| Простой вопрос | 2 | |||
|