Главная страница
    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.046 c
2-1159181038
йцукен
2006-09-25 14:43
2006.10.15
Динамическое создание PopupMenu


2-1159178234
Footballer
2006-09-25 13:57
2006.10.15
Как програмно записать файлы на диск?


2-1159348886
webpauk
2006-09-27 13:21
2006.10.15
Что использовать?


15-1159029612
ProgRAMmer Dimonych
2006-09-23 20:40
2006.10.15
Лишний трафик на ADSL


6-1148129528
Замок
2006-05-20 16:52
2006.10.15
Никто не подскажет, как сделать arp spoofing средствами delphi ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский