powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Присвоение переменной единственного значения выборки
9 сообщений из 9, страница 1 из 1
Присвоение переменной единственного значения выборки
    #33168450
NE_specialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли в VFP7 сделать SELECT(SQL) прямо в переменную памяти, если выборка гарантированно возвращает единственное значение (типа Select poleq, max(pole2) from ... group by...)?
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33168492
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только в массив (SELECT ... FROM ... INTO ARRAY ...), но если SELECT... возвратил одно поле и одну запись, то на массив можешь ссылаться без указания индекса (как на переменную). Но вот если вообще ни одна запись не вернулась и в SELECT не агрегатная функция, то массив не создаться и ссылка на него приведет к ошибке.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33168595
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поэтому надо сначала объявить переменную - глобально, локально или - как тебе надо, потом создать массив командой DIMENSION name_array(1), и потом уже - делать выборку. Можно еще после определения массива, чтобы не получить ошибку типа данных, задать ему какое-то значение, например =0, что будет означать, что выборка пустая.
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33168701
NE_specialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо. Прозрел :)
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33169425
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы вообще рекомендовал отказаться от ...INTO ARRAY ...
Проще писать ...INTO CURSOR _temp
В не зависимости от кол-ва строк, возвращаемых запросом, курсор _temp всегда создается.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33169659
NE_specialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To Aleksey-K:
Спасибо, я, обычно, курсоры и использую, причем - везде, где нецелесообразно создавать таблицу. Так к этому привык, что очень трудно мне теперь воспринимать код на тех языках, в которых используется recordset-идеология :)
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33169998
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey-K!

Вообще в ранних версиях фокса наблюдалось отклонение от нормального (стандартного) поведения при исполнении команд типа SELECT MAX(nID) FROM ... - курсор конечно создавался, но он не имел записей, если таблица была пуста! Тогда как по стандарту он должен был вернуть 1 запись с NULL в качестве значения. Это справедливо для любых агрегатных выборок... Так что помимо прочего стоит и _TALLY проверять...

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33170051
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Igor Korolyov

В VFP 8.0 + SP1 и в VFP 9.0 все работает нормально (1 запись с NULL в качестве значения)

Это справедливо для любых агрегатных выборок...
Кроме COUNT(*)
С уважением, Алексей.
...
Рейтинг: 0 / 0
Присвоение переменной единственного значения выборки
    #33172414
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey-K!

> В VFP 8.0 + SP1

Код: plaintext
1.
2.
3.
CREATE CURSOR t1 (nID I)
SELECT MAX(nID) FROM t1 && пустой курсор
SELECT COUNT(*) FROM t1 && тут я слегка погорячился - в ТАКОМ виде работает и в старых версиях
SELECT COUNT(*), MAX(nID) FROM t1 && ОДНАКО в таком виде - опять  0  записей

> в VFP 9.0 все работает нормально

В 9-ке работает :) О чём я и написал.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Присвоение переменной единственного значения выборки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]