|
|
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
Pаранее извиняюсь если вопрос покажется тупым. Vfoxpo7, нечасто приходится работать с ним. Делаю запрос, вот кусок: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Может как-то по другому сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:03 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
Вместо case надо использовать iif(,,) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:20 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. у лисы такого нет есть в 9-й версии ф-я icase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:21 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
А если попробовать iif() вместо case ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:21 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
а разве vfp поддерживает CASE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:25 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
Разумеется, команды Select-SQL имеет некий стандарт. Но при использовании этих команд в различных средах программирования в процессе "перевода" или адаптации к тому или иному языку возникают диалекты. Некоторые особенности и ограничения, налагаемые на команды Select-SQL той или иной средой программирования. Так вот, в FoxPro подобная конструкция синтаксически не корректная. Для VFP7 следует писать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Причем, в случае настройки по умолчанию SET ANSI OFF можно даже не выделять первые 2 символа по LEFT(), поскольку сравнение и так будет идти до истечения символов в самой короткой строке сравнения Собственно команда DO CASE...ENDCASE в FoxPro тоже есть, но внутри команд Select-SQL ее использование недопустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 16:52 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
не помню, есть ли в 7-ке inlist если есть, то вот так будет лучше Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:28 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
Inlist существует с ДОС-овых времен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:32 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
Inlist() был уже в FP2.x, только надо уточнить, это опечатка или действительно надо в двух случаях 1. Кроме того, у функции Inlist() не может быть больше 24 параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:36 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
В Вашем конкретном примере проще использовать INLIST(). Но такая функция есть (для всех версий FoxPro, включая DOS ) ICASE() «непосредственный» CASE условный переход Вы можете загрузить русскую версию библиотеки по адресу ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.zip Код: plaintext 1. 2. 3. 4. 5. 6. ICASE() Функция определенная пользователем, «непосредственный» CASE условный переход Соответствует встроенной функции Visual FoxPro 9.0, за исключением количества принимаемых параметров, в данной функции максимальное количество принимаемых параметров равняется 25, тогда как в Visual FoxPro 9.0 оно равняется 100. ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ... [, eOtherwiseResult]) Тип возвращаемого значения зависит от того, какой рездультат будет возвращен фукцией eResult1, eResult4, eResult3 и т.д. Параметры lCondition оцениваемое логическое выражение, если lCondition ложно (.F.), ICASE() оценивает следующее логическое условие и возвращает соответствующий eResult для первого встреченного истинного условия (.T.). Если lCondition оценивается как (.NULL.), функция считает условие lCondition ложью (.F.). eResult результат возвращаемый фукцией, если условие lCondition истинно (.T.). eOtherwiseResult результат возвращаемый фукцией, если все условия lCondition ложны (.F.). Если параметр eOtherwiseResult не передан и если все условия lCondition ложны (.F.) функция возвращает (.NULL.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 20:31 |
|
||
|
CASE и SELECT не дружат? Vfoxpo7
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Код: plaintext 1. Как говаривал С.С. Горбунков - "на его месте должен был быть я". Затмение какое-то видать на мозги напало. Конечно же, это самый что ни на есть простой способ решить проблему. прошелмимо Код: plaintext 1. Вот этот вариант понравился, он наглядный, в скобках трудно запутаться. Его и взял. Игорь2004Вы можете загрузить русскую версию библиотеки по адресу Спасибо, хороший вариант, но я не смогу эту библиотеку прилинковать потому, что движок не мой, я к нему только источники данных правлю. Спасибо, други, выручили очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 00:49 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34857219&tid=1588671]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 379ms |

| 0 / 0 |
