
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.02.2007, 13:19
|
|||
|---|---|---|---|
|
|||
Правильное обновление рекордсета |
|||
|
#18+
Подскажите, как правильно организовать обновление рекордсета и грида в таком случае. Имеется некоторая таблица, изменения в которую вносятся с использованием хранимых процедур. (БД 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 , таким образом на клиент возвращается только одна строчка, остается только обновить грид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2007, 14:06
|
|||
|---|---|---|---|
Правильное обновление рекордсета |
|||
|
#18+
Проставить значения в рекордсете самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2007, 15:51
|
|||
|---|---|---|---|
|
|||
Правильное обновление рекордсета |
|||
|
#18+
А если некоторые значения неизвестны? Подставляются в самой хранимой процедуре - timestamp по времени сервера, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2164575]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 434ms |

| 0 / 0 |
