| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Foxpro/Clipper/Dbase > добавить поле в курсор |
| Автор: Artiom 16.6.2006, 09:39 | ||
| такая ситуация: я считываю некоторые данные через ODBC в курсор, на основании этих данных надо сформировать еще одно поле в курсоре. Если я создаю курсор "на лету"
FoxPro ругается на команду ALTER TABLE (я так понимаю недоступна для курсора). А если я заранее создаю курсор командой CREATE CURSOR с "лишним" полем и загружаю туда результат запроса. то это поле просто исчезает из структуры. Сейчас я пробую стянуть из исходных таблиц ненужное поле и приспособить под свои нужды, но если бы такой такой возможности не было - как лучше решать такую проблему? |
| Автор: Artiom 16.6.2006, 10:38 | ||
а можно ли вообще писать в курсор заполняемый SQLEXEC()? что-то не отрабатывает такой од
|
| Автор: Cashey 16.6.2006, 11:25 | ||||||
| Artiom, мой тебе совет не лезть в эти дебри По САБЖу, ALTER TABLE с курсорами нормально работает, но ф-ция sqlexec() создает курсор доступный только для чтения. Есть обходные варианты: скопировать курсор в таблицу командой COPY TO и спокойно с ней работать. Или вытащить данные запросом типа:
Но лучше всего изменить запрос и в нем добавить пустое поле:
Добавлено @ 11:36 Artiom, запись в таблицу или в курсор осуществляется по средствам команды replace
Но повторяю, этот курсор, созданный SQLEXEC, доступен только для чтения |