Главная страница
    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.49 MB
Время: 0.041 c
1-1157564587
Calibr
2006-09-06 21:43
2006.10.15
Как программно записать ipConfig в файл


15-1158665150
начинающий
2006-09-19 15:25
2006.10.15
Ethernet, не гони!


15-1158819323
Курдль
2006-09-21 10:15
2006.10.15
Непересекающиеся периоды в БД.


6-1148271045
ciberrus
2006-05-22 08:10
2006.10.15
Прокси сервер


3-1155541687
Term
2006-08-14 11:48
2006.10.15
Разница в скорости работы хранимой процедуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский