Данные отображаются в сетке в форме, но не сохраняются в таблице в Visual FoxPro 9 - PullRequest
0 голосов
/ 21 января 2010

У меня есть простая форма с сеткой, в которую пользователь вводит данные для сохранения с помощью события щелчка. Первоначально это работало хорошо, но через некоторое время (и несколько модификаций позже), когда кто-то нажимает кнопку «Сохранить», оно появляется в сетке. Но после закрытия экрана и повторного открытия данные больше не отображаются. Я попытался просмотреть таблицы, но ничего не увеличилось, хотя значение recordid (целое число автоинкремента) не сохранилось. Для свойства сеанса данных формы установлено значение private. Любая помощь?

Спасибо

Fred Кения

Ответы [ 2 ]

1 голос
/ 21 января 2010

Несколько вещей, которые вы можете проверить дважды. Вы используете TABLEUPDATE () и проверяете, что он возвращает true (.T.)? Это распространенная проблема. Как только вы узнаете, что это не удается, вы можете использовать AERROR (), чтобы определить причину.

IF TABLEUPDATE(.T., )<br> * All is well, nothing to do <br> ELSE<br> AERROR(laError)<br> * Message user and determine content of laError and how it failed.<br> ENDIF

Другая распространенная проблема - не использовать псевдоним для TABLEUPDATE (), который является третьим параметром.

Поскольку вы видите данные в сетке, я предполагаю, что они правильно связаны, но это определенно еще одна потенциальная ловушка. Убедитесь, что RecordSource сетки является правильным, и каждый столбец ControlSource действителен.

Еще одна вещь. Если вы используете представление и у вас есть таблица представлений в среде данных, у вас может быть случай двойной буферизации, и вам необходимо сначала обновить представление, а затем обновить таблицу.

Рик Шуммер

0 голосов
/ 06 июня 2013

Я предлагаю вам проверить режим буфера в вашей форме, эта проблема может быть вызвана режимом буферизации в среде данных или самой форме.

...