Текущий архив: 2006.10.15;
Скачать: CL | DM;
Вниззапись в базу через DBGrid Найти похожие ветки
← →
tyo (2006-09-29 12:58) [0]Редактирую табличку через DBGrid.
Похоже что если отредактировал какую-то запись на экране, то при переходе курсором на др. запись этот DBGrid автоматически редактирует запись и в базе тоже.
Нельзя ли этого избежать? (т.е. хочется чтобы все изменения происходили в базе например только по нажатию кнопки "Сохранить")
← →
Elen © (2006-09-29 13:00) [1]
> Похоже что если отредактировал какую-то запись на экране,
> то при переходе курсором на др. запись этот DBGrid автоматически
> редактирует запись и в базе тоже.
Откуда такие выводы?
← →
Плохиш © (2006-09-29 13:01) [2]
> Elen © (29.09.06 13:00) [1]
>
> > Похоже что если отредактировал какую-то запись на экране,
>
> > то при переходе курсором на др. запись этот DBGrid автоматически
>
> > редактирует запись и в базе тоже.
>
> Откуда такие выводы?
Из справки, из генофонда ....
← →
Elen © (2006-09-29 13:02) [3]
> Из справки
!? Какой? Я тоже хочу почитать
← →
Elen © (2006-09-29 13:05) [4]
> автоматически редактирует запись и в базе тоже.
А, пардон, база имеется ввиду файл или каго?
← →
Плохиш © (2006-09-29 13:09) [5]
> Elen © (29.09.06 13:02) [3]
>
> > Из справки
>
> !? Какой? Я тоже хочу почитать
По TDBGrid.
← →
ЮЮ © (2006-09-29 13:15) [6]Какого типа DBGrid. DataSource.DataSet ?
А проще, какие компоненты используешь для доступа к таблицам?
← →
MsGuns © (2006-09-29 13:40) [7]1. Использовать буферизацию и исследовать события датасетов, в частности BeforePost (читать "библию" датасетов TDataSet до изнеможения !!!)
2. Отказаться от редактирования в DBGrid и использовать не DB-aware контролы. Полученные изменения вносить в таблицы отдельным запросом. Отображаемый НД после внесения правки в БД перечитывать.
3. Для обмена данными с БД использовать ClientDataSet, дающий "клиенту" практически неограниченные возможности манипулирования полученными из БД фрагментами, в том числе буферизации, кэширования изменений, отката-подтверждения изменений, версирования "клиентских" данных и т.д..
← →
Desdechado © (2006-09-29 14:00) [8]MsGuns © (29.09.06 13:40) [7]
Пункт 2, мягко говоря, спорный, особенно "использовать не DB-aware контролы". Зачем их тогда придумали, не подскажешь? Или ты любишь городить препятствия и героически их преодолевать?
← →
MsGuns © (2006-09-29 14:07) [9]>Desdechado © (29.09.06 14:00) [8]
>Или ты любишь городить препятствия и героически их преодолевать?
Я люблю, когда человек ясно себе представляет, ЧТО он хочети сделать и имеет достаточные знания о том КАК это делается.
А не тупо кидает контролы "по Фаронову" , а потом недоумевает, почему оно "пишет в базу" или "не пишет в базу".
Я бы запретил всем новичкам правки через гриды до сдачи некоего минимума по основам программирования БД в Дельфи и вообще СУБД. Тогда бы количество программ-уродов резко бы уменьшилось
← →
evvcom © (2006-09-29 14:29) [10]> [8] Desdechado © (29.09.06 14:00)
> Пункт 2, мягко говоря, спорный, особенно
Поддерживаю. Достаточно было оставить
> [7] MsGuns © (29.09.06 13:40)
> 2. Отказаться от редактирования в DBGrid
остальное или вредно, или очень не оптимально, что для сервера и пользователя опять вредно.
← →
Игорь Шевченко © (2006-09-29 14:37) [11]
> 2. Отказаться от редактирования в DBGrid и использовать
> не DB-aware контролы. Полученные изменения вносить в таблицы
> отдельным запросом. Отображаемый НД после внесения правки
> в БД перечитывать.
Это непроизводительно
← →
MsGuns © (2006-09-29 15:13) [12]>Игорь Шевченко © (29.09.06 14:37) [11]
>Это непроизводительно
Вы, батенька, глупость городите
← →
Sergey13 © (2006-09-29 15:17) [13]> [12] MsGuns © (29.09.06 15:13)
Отнють. Это ты ее отстаиваешь. 8-)
Особенно она будет видна, если по предлагаемой тобой технологии, работать по очень медленному каналу связи.
← →
Игорь Шевченко © (2006-09-29 15:38) [14]MsGuns © (29.09.06 15:13) [12]
Опыт сын ошибок трудных.
← →
evvcom © (2006-09-29 16:25) [15]> [12] MsGuns © (29.09.06 15:13)
Т.е. по-твоему, если написать так, чтобы не перечитывать НД после правки тобою же, дабы повысить производительность путем снижения нагрузки на сервер, и что порою важнее, как сказал Сергей в [13], на каналы связи, это глупость?
← →
Johnmen © (2006-09-29 16:41) [16]
> MsGuns © (29.09.06 15:13) [12]
> Вы, батенька, глупость городите
Серёга, ты опять за своё? Сколько можно?
Сколько можно тебе доказывать (с примерами), что ты неправ? Разве мало 3-ёхлетнего обсасывания?
← →
MsGuns © (2006-09-29 17:46) [17]>All
В чем глупость - то ? В редактировании гридом или "снижении производительности при отказе от методов датсета в пользу "своих" параметрических запросов ?
Если первое, то я не против него в принципе, а против использования "потому что так проще".
Если второе, то просто недоумеваю: или я дурак или сегодня пятница ;))
← →
Игорь Шевченко © (2006-09-29 22:31) [18]MsGuns © (29.09.06 17:46) [17]
Я как бы высказываюсь против того, чтобы после обновлений теми самыми "своими" запросами перечитывать набор данных, об чем, собстна и говорил, упирая на непроизводительность.
Страницы: 1 вся ветка
Текущий архив: 2006.10.15;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.046 c