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

которую вносятся с использованием хранимых процедур. (БД Oracle)
Мой порядок действий:
Открываю рекордсет на клиенте rs.open "select * from orders"
Вывожу его в грид Me.mshflexgrid1.datasource=rs
Пользователь выбирает нужную строку, нажимает кнопку редактировать, выводится форма для редактирования, пользователь вносит правки, нажимает "Сохранить".
В коде выполняется cmd.execute " {CALL modify_orders(:param1,:param2)".

Вопрос: как теперь обновить грид? Закрывать и заново открывать рекордсет и выводить его в грид? А если таблица большая и обновили только одну строку - ради одной строки тащить из базы все записи?

При обновлении таблиц обновляемых напрямую, это красиво решается использованием методов рекордсета:
rs(0)=NewValue1
rs(1)=NewValue2
rs.update
rs.resync adAffectCurrent
В базу уходит сначала оператор update … returning rowid, а сразу за ним оператор select … where rowid=nnn , таким образом на клиент возвращается только одна строчка, остается только обновить грид.
...
Рейтинг: 0 / 0
Правильное обновление рекордсета
    #34302324
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проставить значения в рекордсете самостоятельно.
...
Рейтинг: 0 / 0
Правильное обновление рекордсета
    #34302841
Wasup!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если некоторые значения неизвестны? Подставляются в самой хранимой процедуре - timestamp по времени сервера, например.
...
Рейтинг: 0 / 0
Правильное обновление рекордсета
    #34303903
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получать с сервера только необходимую запись. Можно прямо из той же modify_orders; раз уж она используется для апдейта, почему бы все не сделать одним запросом?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Правильное обновление рекордсета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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