powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не срабатывает TABLEUPDATE()
7 сообщений из 7, страница 1 из 1
Не срабатывает TABLEUPDATE()
    #34129169
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Вот пример кода

=SQLEXEC(hConn,lcCommand,"cursor1")

*Переменной присвоили значение поля полученного курсора
*Здесь TABLEUPDATE() показывает значение .T.
ln1=cursor1.exp

*Перешли в другой курсор
*Здесь TABLEUPDATE() неопределенное значение

SELECT &q_tmp

REPLACE &q_tmp.col1 WITH ln1

*Фиксирую изменения.

В курсоре никаких изменений. В чем может быть проблема?
Спасибо!
...
Рейтинг: 0 / 0
Не срабатывает TABLEUPDATE()
    #34129223
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведите более полный код.
А то как-то непонятно


nova=SQLEXEC(hConn,lcCommand,"cursor1")

*Переменной присвоили значение поля полученного курсора

Ну а для чего . И собственно причем тут TABLEUPDATE().
nova
*Здесь TABLEUPDATE() показывает значение .T.

и где собственно сам TABLEUPDATE() и в каком курсоре - если в cursor1 - то где видно что вы его сделали обновляемым ?

novaln1=cursor1.exp
*Перешли в другой курсор

какой курсор ? откуда он взялся и как получился
nova*Здесь TABLEUPDATE() неопределенное значение

Это как ? Всю жизнь считал что TABLEUPDATE() возвращает либо .T. либо .F.
неопределенное это что NULL ?
Или все таки .F. - если это так то смотреть нужно AERROR()

novaSELECT &q_tmp
REPLACE &q_tmp.col1 WITH ln1
*Фиксирую изменения.

Где и как ? Ну и собственно что значит никаких , replace не отработал или TABLEUPDATE() ?

Короче говоря ничего не понятно , кроме того что непонятно ничего.
...
Рейтинг: 0 / 0
Не срабатывает TABLEUPDATE()
    #34129286
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*Значит проверяю в DEBUGGER

SET STEP ON

=SQLEXEC(hConn,lcCommand,"cursor1")

*получили курсор. Смотрю DEBUGGER функция TABLEUPDATE()=.T.
*присвоили переменной ln1 значение поля из полученого курсора
ln1=cursor1.exp

*Перешли в другой курсор
SELECT &q_tmp

*Смотрю DEBUGGER функция TABLEUPDATE() = Expression could not be evaluated

*Меняю значение в курсоре, в который перешли
REPLACE &q_tmp.col1 WITH ln1

*Смотрю этот курсор. Никаких изменений нет
*в DEBUGGER функция по прежнему TABLEUPDATE() = Expression could not be evaluated

*Смотрю DEBUGGER laError(1)=.F.
IF TableUpdate() = .F.
LOCAL laError(1)
=AREEOR(laError)
ENDIF

Т.е. TABLEUPDATE() ничего не возвращает и в курсоре никаких изменений нет.
...
Рейтинг: 0 / 0
Не срабатывает TABLEUPDATE()
    #34129306
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*Прстите вот так
*Значит проверяю в DEBUGGER

SET STEP ON

=SQLEXEC(hConn,lcCommand,"cursor1")

*получили курсор. Смотрю DEBUGGER функция TABLEUPDATE()=.T.
*присвоили переменной ln1 значение поля из полученого курсора
ln1=cursor1.exp

*Перешли в другой курсор
SELECT &q_tmp

*Смотрю DEBUGGER функция TABLEUPDATE() = Expression could not be evaluated

*Меняю значение в курсоре, в который перешли
REPLACE &q_tmp.col1 WITH ln1
*фиксирую изменения
=TABLEUPDATE(.F.)

*Смотрю этот курсор. Никаких изменений нет
*в DEBUGGER функция по прежнему TABLEUPDATE() = Expression could not be evaluated

*Смотрю DEBUGGER laError(1)=.F.
IF TableUpdate() = .F.
LOCAL laError(1)
=AREEOR(laError)
ENDIF

Т.е. TABLEUPDATE() ничего не возвращает и в курсоре никаких изменений нет.
...
Рейтинг: 0 / 0
Не срабатывает TABLEUPDATE()
    #34129348
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 nova

SELECT &q_tmp

REPLACE &q_tmp.col1 WITH ln1

Смотрим а в нужной ли области мы стоим. А если в нужной - то на нужной ли записи? А то вполне можно пытатся записать значение в таблицу стоя на EOF()
Кстати локальные изменения должны быть видны сразу после REPLACE бозовсяких TableUpdate() - это чтобы обновить даные не сервере и их смогли бы увидеть другие
...
Рейтинг: 0 / 0
Не срабатывает TABLEUPDATE()
    #34129390
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Указатель стоит на нужной записи, а вот пробовал вручную изменить в курсоре и он мне не дает это сделать
...
Рейтинг: 0 / 0
Не срабатывает TABLEUPDATE()
    #34129413
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все разобрался, тот курсор, в котором делаем изменения был получен без опции readwriter

Спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не срабатывает TABLEUPDATE()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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