Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 cursor default value  [new]
lesha_spb
Member

Откуда: С-Петербург
Сообщений: 401
Как получить значение установленное для некоторого поля столбца курсора по умолчанию?
для таблиц так:
DBGetProp("table.col1", "Field", "DefaultValue")
а если table это курсор?
17 июн 05, 11:52    [1628174]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
PaulWist
Guest
AFIELDS()
17 июн 05, 12:32    [1628434]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
lesha_spb
Member

Откуда: С-Петербург
Сообщений: 401
сэнкс
17 июн 05, 12:37    [1628462]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
lesha_spb
Member

Откуда: С-Петербург
Сообщений: 401
А наоборот установить default для уже созданного курсора?
17 июн 05, 12:54    [1628581]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
lesha_spb
Member

Откуда: С-Петербург
Сообщений: 401
плиз, хелп. мне срочно надо
17 июн 05, 13:32    [1628828]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
PaulWist
Guest
В лоб никак

автор
Visual FoxPro generates an error if you include the DEFAULT, FOREIGN KEY, PRIMARY KEY, REFERENCES, or SET clauses when modifying a free table


читай курсоров, можно создать курсор с нужной структурой и перелить туда данные из первоначального курсора.

Есть правда ещё один способ, из курсора создать TMP таблицу и её включить в контейнер БД, а потом удалить, НО это уже не курсор и лучше такие манипуляции не делать.
17 июн 05, 13:38    [1628868]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
lesha_spb
Member

Откуда: С-Петербург
Сообщений: 401
ок, ясно. сэнкс еще раз:)
17 июн 05, 13:40    [1628881]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
AleksMed
Member

Откуда: Россия, Серпухов-Москва
Сообщений: 1546
Не истытано, но:

1. AFIELDS()
2. Изменить в полученном массиве значение для DEFAULT
3. CREATE CURSOR FROM <ArrayName>
4. Перелить данные в новый курсор
5. Удалить старый курсор
17 июн 05, 13:46    [1628915]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi PaulWist!

Курсор это не FREE таблица, так что задавать для неё DefaultValue можно, но я не знаю способа сделать это для уже существующего курсора. для нового - пожалуйста:

CREATE CURSOR test (nID I DEFAULT 123 CHECK nID > 10)

Posted via ActualForum NNTP Server 1.2

18 июн 05, 02:32    [1630869]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
PaulWist
Guest
Igor Korolyov

Честно, говоря не понял, что ты хотел сказать своим постом.

Igor Korolyov
Курсор это не FREE таблица


Где у меня написано обратное?

Igor Korolyov
для неё DefaultValue можно, но я не знаю способа сделать это для уже существующего курсора


Для этого я привел цитату хелпа, и сказал "читай курсора", либо создать TMP-таблицу (Temporary table, думаю ты понимаешь отличие от Cursor)
20 июн 05, 10:46    [1632637]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi PaulWist!

> Честно, говоря не понял, что ты хотел сказать своим постом.

То что для курсора (который CREATE CURSOR ... ) можно установить DefaultValue, Check и т.п. Несмотря на то что никакой dbc и в помине нету.

> Где у меня написано обратное?

Просто твой способ IMHO излишне громоздкий, и я думаю что он неработоспособный. После исключения таблицы из контейнера все Default снимаются - т.к. для таблицы они ИМЕННО в dbc и содержаться - где это для куросра находится я не знаю - возможно фокс для всех курсоров создаёт какую-то невидимую системную dbc где и хранит их "расширенные параметры", а может просто там простое ветвление логики и для Cursor обработка идёт НЕ через те-же процедуры что для table (а через свои особые "навороченные" версии)...
В общем TEMP таблица потребует ПОСТОЯННОГО наличия DBC (тоже скорее всего TEMP) - тогда как CURSOR - нет.

Posted via ActualForum NNTP Server 1.2

21 июн 05, 00:55    [1634925]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
PaulWist
Guest
Igor Korolyov

Igor Korolyov
> Честно, говоря не понял, что ты хотел сказать своим постом.

То что для курсора (который CREATE CURSOR ... ) можно установить DefaultValue, Check и т.п. Несмотря на то что никакой dbc и в помине нету.


Спасибо, знаю.

PaulWist
Есть правда ещё один способ, из курсора создать TMP таблицу и её включить в контейнер БД, а потом удалить, НО это уже не курсор и лучше такие манипуляции не делать.


Вот моя цитата.

Igor Korolyov
Просто твой способ IMHO излишне громоздкий, и я думаю что он неработоспособный. После исключения таблицы из контейнера все Default снимаются


Поскольку, всё равно талицу удаляем из БД и с диска, то снятие Default-ов по барабану, в момент работы с TMP таблицей в контейнере БД - делай, что хочешь.

автор
В общем TEMP таблица потребует ПОСТОЯННОГО наличия DBC (тоже скорее всего TEMP) - тогда как CURSOR - нет.


Так там и написано, "создать TMP таблицу и её включить в контейнер БД", а не FREE таблицу.

PS Вообщем, заканчиваем "народ смешить" (с М.Дроздов :)) )
21 июн 05, 09:51    [1635319]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi PaulWist!

> Есть правда ещё один способ, из курсора создать TMP таблицу и её включить в контейнер БД, а потом удалить, НО это уже не курсор и лучше такие манипуляции не делать.

Если прочитать дословно, то получается что это всё нужно проделать "одномоментно" и курсор станет с DefaultValue.
т.е.

ADD TABLE ...
DBSETPROP(...)
REMOVE TABLE ...
USE ...
* И получаем нужный нам курсор с Default-ом

По крайней мере я имено так это и прочитал.

Кроме того этот способ не годится для совместно используемой dbc - даже в рамках одной программы могут возникнуть сложности - если просто пару форм открыть где нужна такая "хитрая" таблица!!!
Тогда как с курсором конечно подобных проблем нет...

Posted via ActualForum NNTP Server 1.2

22 июн 05, 00:59    [1638458]     Ответить | Цитировать Сообщить модератору
 Re: cursor default value  [new]
PaulWist
Guest
Игорь, приношу свои извинения за через одно место изложенные посты :), на этом закончим.

"Учиться. учиться, учиться и ещё раз учиться ( в оригинале - коммунизму) " (с) В.И.Ленин
22 июн 05, 08:54    [1638635]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить