Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.072 c
4-1148916035
Fluffy
2006-05-29 19:20
2006.10.15
Как получить список событий?


15-1158691104
angelnay
2006-09-19 22:38
2006.10.15
Ктонибудь может привести исходный код *.gif файла.


2-1159357747
Fostr
2006-09-27 15:49
2006.10.15
Передача информации от Form1.Edit1 к процедуре


15-1158905403
parasolka
2006-09-22 10:10
2006.10.15
jar архивы.


2-1159635006
Firedg
2006-09-30 20:50
2006.10.15
Работа с HTML