powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ADD Column в курсор - ошибка
6 сообщений из 6, страница 1 из 1
ADD Column в курсор - ошибка
    #33209414
Сегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему не работает, мне кажется должно:

Код: plaintext
1.
2.
3.
4.
5.
SELECT tmpMainTable
    AFIELDS(aryMainTable)
    CREATE CURSOR cMainTable FROM ARRAY aryMainTable
    SELECT cMainTable
    ALTER TABLE cMainTable ADD COLUMN Pr2 C( 20 ) 
    ALTER TABLE cMainTable ADD COLUMN Am2 N( 10 , 3 ) NULL

Выдает ошибку «Invalid operation for the cursor» и останавливается на предпоследней строчке
...
Рейтинг: 0 / 0
ADD Column в курсор - ошибка
    #33209472
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СегунПочему не работает, мне кажется должно:

Код: plaintext
1.
2.
3.
4.
5.
SELECT tmpMainTable
    AFIELDS(aryMainTable)
    CREATE CURSOR cMainTable FROM ARRAY aryMainTable
    SELECT cMainTable
    ALTER TABLE cMainTable ADD COLUMN Pr2 C( 20 ) 
    ALTER TABLE cMainTable ADD COLUMN Am2 N( 10 , 3 ) NULL

Выдает ошибку «Invalid operation for the cursor» и останавливается на предпоследней строчке
У меня все четко идет. VFP80 SP1.
...
Рейтинг: 0 / 0
ADD Column в курсор - ошибка
    #33209495
Сегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно, что подобный код работает у меня и в VFP6, но вот в девятке выдает ошибку
...
Рейтинг: 0 / 0
ADD Column в курсор - ошибка
    #33209599
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi, Сегун!
Только что проверил и на VFP90 идет!!!
...
Рейтинг: 0 / 0
ADD Column в курсор - ошибка
    #33209675
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi, Сегун!
Посмотреть м.б. твой <tmpMainTable>. Можешь приложить файлик.
...
Рейтинг: 0 / 0
ADD Column в курсор - ошибка
    #33214021
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Сегун!

В сообщении об ошибке ЧЁТКО написано почему так делать нельзя. В хелпе
кстати тоже всё описано:

ALTER TABLE might not produce consistent results when used with Visual
FoxPro cursors created by the CREATE CURSOR command. In particular, you can
create a Visual FoxPro cursor with features, such as long field names, that
are normally available only with tables that are part of a database
container. ALTER TABLE saves a temporary copy of the cursor, so the rules
that apply to free tables also apply, and any features requiring database
support are lost or changed in an unpredictable manner. Therefore, you
should generally avoid using ALTER TABLE with Visual FoxPro cursors unless
you have tested and understood the outcome.

У тебя в таблице были какие-то возможности, которые недопустимы для фоксовых
FREE таблиц - имена полей >10 символов, Default Value и т.п. Если сделать
курсор (неважно каким способом кстати говоря) в котором ТОЖЕ будут
использованы эти возможности, то ALTER TABLE потом к нему применять будет
нельзя.
Если уж ты делаешь курсор из массива описания, то почему-бы в самом массиве
и не добавить новые строки с описанием новых полей? Ну или зачистить в
массиве ВСЁ что не укладывается в ограничения FREE таблиц - тогда полученный
курсор можно будет изменять через ALTER TABLE.

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


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