
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.08.2007, 13:22
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.08.2007, 13:32
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Совсем необязательно. Если он создан командой Create cursor, то он уже "писабельный", а если создается в результате Select ... into cursor ..., то достаточно в эту команду добавить ReadWrite. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.08.2007, 13:40
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Курсор уже создан select... into crusor, но без ReadWrite. А теперь выясняется, что ему необходимы индексы... что делать передылать курсор или есть возможность сделать его Readwrite? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.08.2007, 14:23
|
|||
|---|---|---|---|
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Один индекс можно создать в любом случае. Если индексов надо больше, тогда либо переоткрывай курсор, либо допиши опцию ReadWrite в команде Select-SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.08.2007, 15:26
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Кода до еще в FPD был у меня такой код: * На момент выполнения кода активным является READ-курсор nSelect = SELECT() cDBF = DBF() SELECT 0 USE (cDBF) AGAIN USE IN (nSelect) И курсор по мановению палочки становился ReadWrite :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.08.2007, 12:14
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
_PSerg_Кода до еще в FPD был у меня такой код: * На момент выполнения кода активным является READ-курсор nSelect = SELECT() cDBF = DBF() SELECT 0 USE (cDBF) AGAIN USE IN (nSelect) И курсор по мановению палочки становился ReadWrite :) А вот это действительно интересно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.08.2007, 12:58
|
|||
|---|---|---|---|
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
splayn _PSerg_Кода до еще в FPD был у меня такой код: * На момент выполнения кода активным является READ-курсор nSelect = SELECT() cDBF = DBF() SELECT 0 USE (cDBF) AGAIN USE IN (nSelect) И курсор по мановению палочки становился ReadWrite :) А вот это действительно интересно :) Интересно писать 5 строк кода вместо одного слова READWRITE в конце select`а? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 10:32
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Dima T splayn _PSerg_Кода до еще в FPD был у меня такой код: * На момент выполнения кода активным является READ-курсор nSelect = SELECT() cDBF = DBF() SELECT 0 USE (cDBF) AGAIN USE IN (nSelect) И курсор по мановению палочки становился ReadWrite :) А вот это действительно интересно :) Интересно писать 5 строк кода вместо одного слова READWRITE в конце select`а? Код: plaintext Интересно... (я спрашивал, так что бы курсор не пересоздавать... он уже однажды создан для чтения...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 10:47
|
|||
|---|---|---|---|
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
splaynИнтересно... (я спрашивал, так что бы курсор не пересоздавать... он уже однажды создан для чтения...) Интересно, Вы хотите модифицировать код. Какая разница, добавить одну опцию в команде создания или неизвестно сколько строк кода, чтобы исправить ранее созданный курсор? "Неизвестно сколько" потому, что ведь курсор у Вас не просто так "болтается". Его надо еще привязать к какому-то объекту. А переоткрытие сопровождается, как минимум, изменением алиаса. Даже если удалить исходный курсор и опять переоткрыть уже переоткрытый. Значит, перепривязка источников данных. Значит, куча дополнительного кода. Оно Вам надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 10:57
|
|||
|---|---|---|---|
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Походу курсор создается в недоступном для автора месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 12:00
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
ВладимирМ А переоткрытие сопровождается, как минимум, изменением алиаса. Даже если удалить исходный курсор и опять переоткрыть уже переоткрытый. Значит, перепривязка источников данных. А так тоже не сработает? _f = DBF("cursor") _n = SELE("cursor") USE (_f) AGAI IN 0 ALIA "rwcursor" USE IN ("cursor") USE (_f) AGAI IN _n ALIA ("cursor") USE IN "rwcursor" SELE ("cursor") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 12:05
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
Если нужно лишь создать несколько индексов, а не изменять содержимое курсора, то я использую неструктурный составной индекс: && Где-то там в конструкторах. PUBLIC gcPathTemp && Путь к временному каталогу. DECLARE INTEGER GetLongPathName IN Win32API; STRING @lpszShortPath, STRING @lpszLongPath, INTEGER cchBuffer DECLARE INTEGER GetTempPath IN Win32API; INTEGER nBufferLength, STRING @lpBuffer LOCAL lcValue, lcValue2 lcValue = REPLICATE (' ', 255) =GetTempPath (255, @lcValue) lcValue = LEFT (lcValue, AT (CHR (0), lcValue) - 1) lcValue2 = REPLICATE (' ', 255) =GetLongPathName (@lcValue, @lcValue2, 255) lcValue2 = LEFT (lcValue2, AT (CHR (0), lcValue2) - 1) gcPathTemp = lcValue2 CLEAR DLLS && Работа с курсором. PUBLIC gcКурсорAlias gcКурсорAlias = СозданиеКурсораНаЧтение () PUBLIC gcIndexName && Имя НЕСТРУКТУРНОГО СОСТАВНОГО индекса. gcIndexName = ADDBS (gcPathTemp) + SUBSTR (SYS (2015), 3, 10) SELECT (gcКурсорAlias) INDEX ON Exp1 TAG Tag1 OF gcIndexName + '.cdx' INDEX ON Exp2 TAG Tag2 OF gcIndexName + '.cdx' ... INDEX ON ExpN TAG TagN OF gcIndexName + '.cdx' =ИспользованиеКурсора (gcКурсорAlias) USE IN (gcКурсорAlias) ERASE (gcIndexName + '.*') RELEASE gcIndexName RELEASE gcКурсорAlias && Где-то там в деструкторах. RELEASE gcPathTemp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 12:15
|
|||
|---|---|---|---|
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
korsak ВладимирМ А переоткрытие сопровождается, как минимум, изменением алиаса. Даже если удалить исходный курсор и опять переоткрыть уже переоткрытый. Значит, перепривязка источников данных. А так тоже не сработает? _f = DBF("cursor") _n = SELE("cursor") USE (_f) AGAI IN 0 ALIA "rwcursor" USE IN ("cursor") USE (_f) AGAI IN _n ALIA ("cursor") USE IN "rwcursor" SELE ("cursor") А теперь представьте, что курсор - это источник данных для Grid и Вы делаете подобную операцию после того, как привязка к Grid уже была осуществлена. Как минимум, будет разрушена структура Grid. Да, это можно предотвратить, написав дополнительный код. О чем я и говорю. Количество кода лавинообразно нарастает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.08.2007, 13:50
|
|||
|---|---|---|---|
|
|||
VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite |
|||
|
#18+
ВладимирМ А теперь представьте, что курсор - это источник данных для Grid и Вы делаете подобную операцию после того, как привязка к Grid уже была осуществлена. Как минимум, будет разрушена структура Grid. Да, это можно предотвратить, написав дополнительный код. О чем я и говорю. Количество кода лавинообразно нарастает. Согласен. Но вопрос изначально был "VFP 9. Обязательно ли переделывать курсор что бы сделать его ReadWrite?" Может быть автора работа в Grid и не интересует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1588834]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 370ms |

| 0 / 0 |
