Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Правильное обновление рекордсета / 4 сообщений из 4, страница 1 из 1
02.02.2007, 13:19
    #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
02.02.2007, 14:06
    #34302324
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильное обновление рекордсета
Проставить значения в рекордсете самостоятельно.
...
Рейтинг: 0 / 0
02.02.2007, 15:51
    #34302841
Wasup!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильное обновление рекордсета
А если некоторые значения неизвестны? Подставляются в самой хранимой процедуре - timestamp по времени сервера, например.
...
Рейтинг: 0 / 0
03.02.2007, 09:05
    #34303903
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильное обновление рекордсета
Получать с сервера только необходимую запись. Можно прямо из той же modify_orders; раз уж она используется для апдейта, почему бы все не сделать одним запросом?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Правильное обновление рекордсета / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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