powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / REPLACE для курсоров
4 сообщений из 4, страница 1 из 1
REPLACE для курсоров
    #32334773
Newb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял что курсоры для которых явно не указано READWRITE
доступны только для чтения.

Т.е. если я делаю
m.lcSQL = "SELECT Pole1, Pole2 FROM Tabl1"
SQLEXEC(m.pcConnectHeader, m.lcSQL, "Cursor1")

То потом я несмогу сделать
SELECT Cursor1
REPLACE Pole1 WITH Pole1*Pole2

Правильно? Или я ошибаюсь?
Если я прав то как можно проще обойти данную ситуацию?

Спасибо.
...
Рейтинг: 0 / 0
REPLACE для курсоров
    #32334826
Flex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Делай так:
local  lc_cur
lc_cur = sys( 2015 )
if used( "Cursor1" )
use in Cursor1
endif
m.lcSQL =  "SELECT Pole1, Pole2 FROM Tabl1"  
SQLEXEC(m.pcConnectHeader, m.lcSQL, lc_cur) 
use (dbf(lc_cur)) alias ( "Cursor1" ) in  0  again exclusive
use in (lc_cur)
Вот теперь  прокатит:
SELECT Cursor1 
REPLACE Pole1 WITH Pole1*Pole2 
...
Рейтинг: 0 / 0
REPLACE для курсоров
    #32335414
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем так! курсоры ReadOnly создаются только, если речь идет о курсорах, полученных при запросах к FOX-овым таблицам.
Курсор полученный через SQLexec() будет доступен для изменений.Так что "REPLACE Pole1 WITH Pole1*Pole2 " ты сможешь сделать без лишних заморочек. При этом записи, разумеется, будут обновляться только в самом курсоре, но не в исходных таблицах на MSSQL. Если тебе нужно изменения сделанные в курсоре перенести на MSSQL-ую БД, это уже другой вопрос.
А вот запросы к FOX-овым таблицам (и курсорам, полученным в результате =SQLEXEC(m.Connect, m.Sql,'Cursor1') ) выдают курсоры, доступные только для чтения. Как с это обойти, Flex2 продемонстрировал.
...
Рейтинг: 0 / 0
REPLACE для курсоров
    #32335608
Pavel_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для Vfp8 работает
SELECT * from dost INTO CURSOR Tdost readwrite
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / REPLACE для курсоров
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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