|
|
|
Странное поведение
|
|||
|---|---|---|---|
|
#18+
Hi All! VFP8+SP1. Суть в следующем: Делаем запрос к MS SQL 2000 SELECT некие поля ,1.00*0 as test FROM любая таблица where условие в курсор tmp выражение 1.00*0 - для получения в результатирующем курсоре пустого числового поля ( вместо 1.00*0 использовал и cast(0 as numeric(10,2)) - результат тот-же) Получаем курсор tmp , смотрим струкуру - все нормально ,поле test есть и даже числовое :-). Далее приколы: SELECT tmp REPLACE test WITH 10 SELECT test FROM tmp WHERE test>0 - результат запроса пустой ! Смотрим курсор - 10 в поле как влитая ! Попытка 2: SELECT tmp INDEX ON test TAG test SELECT test FROM tmp WHERE test>0 - все пучком! Нужный результат! Даже если после создания индекса DELETE tag all -- С уважением, Андрей Белов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2005, 07:39 |
|
||
|
Странное поведение
|
|||
|---|---|---|---|
|
#18+
Не потоиу ли, что вплоть до VFP9 запросы игнорируют данные, не сохраненные непосредственно в таблицу (ну и курсор, наверное, тоже), а еще находящиеся в буфере? Если включена буферизация, то после replace надо сделать еще и tableupdate(), и только потом запрашивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2005, 08:31 |
|
||
|
Странное поведение
|
|||
|---|---|---|---|
|
#18+
Век живи - век учись! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2005, 08:50 |
|
||
|
Странное поведение
|
|||
|---|---|---|---|
|
#18+
Я думаю, что ничего странного тут нет :) Когда ты делаешь SELECT некие поля ,1.00*0 as test FROM любая таблица where условие в курсор tmp ...то курсор у тебя получается только на чтение (READONLY), как и положено в фоксе по умолчанию. Из-за этого REPLACE test WITH 10 и все прочее не проходят, конечно. Попробуй повторить все это, только в первый SELECT допиши опцию READWRITE. Это сделает курсор tmp обновляемым. Получится так: SELECT некие поля ,1.00*0 as test FROM любая таблица where условие в курсор tmp READWRITE ...и далее все как было. Попробуй, попытка - не пытка... С уважением. Александр Галенков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2005, 10:50 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33063714&tid=1594249]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
608ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 935ms |

| 0 / 0 |
