|
|
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Можно ли в VFP7 сделать SELECT(SQL) прямо в переменную памяти, если выборка гарантированно возвращает единственное значение (типа Select poleq, max(pole2) from ... group by...)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 13:51:46 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Только в массив (SELECT ... FROM ... INTO ARRAY ...), но если SELECT... возвратил одно поле и одну запись, то на массив можешь ссылаться без указания индекса (как на переменную). Но вот если вообще ни одна запись не вернулась и в SELECT не агрегатная функция, то массив не создаться и ссылка на него приведет к ошибке. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 13:58:09 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Поэтому надо сначала объявить переменную - глобально, локально или - как тебе надо, потом создать массив командой DIMENSION name_array(1), и потом уже - делать выборку. Можно еще после определения массива, чтобы не получить ошибку типа данных, задать ему какое-то значение, например =0, что будет означать, что выборка пустая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 14:15:48 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо. Прозрел :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 14:38:13 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Я бы вообще рекомендовал отказаться от ...INTO ARRAY ... Проще писать ...INTO CURSOR _temp В не зависимости от кол-ва строк, возвращаемых запросом, курсор _temp всегда создается. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 17:50:11 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
To Aleksey-K: Спасибо, я, обычно, курсоры и использую, причем - везде, где нецелесообразно создавать таблицу. Так к этому привык, что очень трудно мне теперь воспринимать код на тех языках, в которых используется recordset-идеология :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 22:58:11 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Hi Aleksey-K! Вообще в ранних версиях фокса наблюдалось отклонение от нормального (стандартного) поведения при исполнении команд типа SELECT MAX(nID) FROM ... - курсор конечно создавался, но он не имел записей, если таблица была пуста! Тогда как по стандарту он должен был вернуть 1 запись с NULL в качестве значения. Это справедливо для любых агрегатных выборок... Так что помимо прочего стоит и _TALLY проверять... Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2005, 18:26:00 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Для Igor Korolyov В VFP 8.0 + SP1 и в VFP 9.0 все работает нормально (1 запись с NULL в качестве значения) Это справедливо для любых агрегатных выборок... Кроме COUNT(*) С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2005, 20:49:10 |
|
||
|
Присвоение переменной единственного значения выборки
|
|||
|---|---|---|---|
|
#18+
Hi Aleksey-K! > В VFP 8.0 + SP1 Код: plaintext 1. 2. 3. > в VFP 9.0 все работает нормально В 9-ке работает :) О чём я и написал. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 00:49:12 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33169998&tid=1593853]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 473ms |

| 0 / 0 |
