-
> Ega23 © (28.12.10 11:21) [17] > А кто тебе сказал, что приложение напрямую с СУБД работает?
Да пофиг.
> Я про общую концепцию говорю
Какую, нахрен, концепцию? Какая, к лешему, концепция избавит от устаревания данных во время редактирования? Чо ты мОзги пудришь?
-
> Какая, к лешему, концепция избавит от устаревания данных > во время редактирования?
как будто в VS.NET избавит как то
-
> Какая, к лешему, концепция избавит от устаревания данных > во время редактирования? Чо ты мОзги пудришь?
Не во время редактирования. Я открыл форму с набором данных. И ушёл сначала на перекур, потом на обед, а потом ещё куда-то. Меня не было, например, час. За это время данные были модифицированы другими пользователями. Не все, но какая-то часть. Например, 10%. Я вернулся и дабл-кликнул на какую-то запись. У меня в модальную форму передался ID данной записи. Из формы пошёл запрос на актуальные данные по этому ID. Они отобразились, я их отредактировал, либо вообще отмену нажал. И вот уже потом пошёл рефреш основного набора. Того, который был на 10% изменён.
-
> 12 © (28.12.10 11:32) [21] > > > > Какая, к лешему, концепция избавит от устаревания данных > > во время редактирования? > > как будто в VS.NET избавит как то
здохнешь и отмучаешься :)
-
to Ega23 © (28.12.10 11:37) [22]:
> Они отобразились, я их отредактировал, либо вообще отмену > нажал.
Прально. А пока ты их редактируешь, на них должна быть блокировка поставлена, чтобы никто своими грязными ручками не лез поперек твоего редактирования.
Собсно, у нас по такому принципу всё и живет. В обычной двухзвенке. И с обычными DB-aware. Проблем нет.
-
> Прально. А пока ты их редактируешь, на них должна быть блокировка > поставлена, чтобы никто своими грязными ручками не лез поперек > твоего редактирования.
А, ну да, это тоже. Забыл написать. Типа "Эта запись редактируется Васей Пупкиным с рабочей станции Workstation".
-
> Ega23 © (28.12.10 11:28) [19] > > DiamondShark © (28.12.10 11:23) [18]> > Теперь этот > подход явно морально устарел.За язык тебя никто не тянул, > так что давай, объясняй почему.
Потому что появилась явно более обобщённая и удобная модель data binding, в которой нет разницы между ДБ и не-ДБ контролами, а источником данных может быть не только датасет, но и любой объект вообще.
В дельфи ДБ-контролы были сделаны на скорую руку, потому что ни у кого такой фичи не было, а на рынок выходить надо было. Во времена Д-1 это была действительно суперская фича, а теперь уши аврального решения торчат слишком явно. В ДБ-контролах нет никакой общей абстракции и единообразия. Так, например, ДБ-контролы не имеют общего корня наследования. Т.е., нет иерархии вида: TControl - TDBControl - TDBEdit - TDBDateTimePicker и т.д. Ну ладно, вывод из единого корня -- не единственный вариант построения семейств объектов. Есть, к примеру, ещё подходы агрегации, примесей, аспектов и т.п. Но дельфийские ДБ-контролы не тянут ни на агрегаты, ни на носители аспектов и примесей. С ними вообще нельзя обращаться каким-либо абстрагированным и унифицированным способом. Их БД-шность реализована тупым копипастом!
-
> А пока ты их редактируешь, на них должна быть блокировка > поставлена,
Привет^Wпрощай масштабируемость.
-
> Ega23 © (28.12.10 11:37) [22]
Не-не-не, Дэвид Блэйн. Я предлагаю другой сценарий.
Я кликнул запись, у меня открылась модальная форма со свежей записью, я изменил половинну полей, и только потом пошёл курить/обедать/какать/пиво пить.
А потом вернулся и нажал "Сохранить".
-
> Не-не-не, Дэвид Блэйн. Я предлагаю другой сценарий.
см. [25], я просто забыл этот момент описать.
-
> DiamondShark © (28.12.10 12:55) [28] > Я кликнул запись, у меня открылась модальная форма со свежей > записью, я изменил половинну полей, и только потом пошёл > курить/обедать/какать/пиво пить А потом вернулся и нажал "Сохранить".
Ну вот кроме после потом пошел от ниже приведенного не увидел разницы (что и там возможно).... (Посты о блокировках и прочем пока не рассматриваю)
> Ega23 © (28.12.10 11:37) [22]
> дабл-кликнул на какую-то запись. У меня в модальную > форму передался ID данной записи. Из формы пошёл запрос > на актуальные данные по этому ID. Они отобразились, я их > отредактировал, либо вообще отмену нажал
PS: Для одинакового прочтения Я понял > отредактировал, либо вообще отмену нажал как отредактировал и сохранил, либо отмену нажал
-
> DiamondShark © (28.12.10 12:55) [28]
> Я кликнул запись, у меня открылась модальная форма со свежей > записью, я изменил половинну полей, и только потом пошёл > курить/обедать/какать/пиво пить. > А потом вернулся и нажал "Сохранить".
Вот и именно, я делал так: В обычном контрле есть что было, в новом (Форме для редактирования) что стало, а перед записью получаем новые данные в НД.
Соответственно, имеется что поменялось мной, что не мной, что вообще не поменялось.
-
> Потому что появилась явно более обобщённая и удобная модель > data binding, в которой нет разницы между ДБ и не-ДБ контролами, > а источником данных может быть не только датасет, но и > любой объект вообще.
Ну TDataSet, собственно, это всего лишь абстрактный класс. Вполне можно написать TXMLDataSet, статья с Getting Started где-то тут на сайте лежит (древняя, правда, но сути не меняет). А из DBAware использовал только DBGrid (только для отображения). И то не родной.
-
Use Oracle Forms, Luke
-
> А, ну да, это тоже. Забыл написать. Типа "Эта запись редактируется > Васей Пупкиным с рабочей станции Workstation". > <Цитата>
Телефон такой то, палка стоит в кладовке.
-
> Игорь Шевченко © (28.12.10 13:21) [33] > > Use Oracle Forms, Luke
Как Oracle Forms позволяет взаимных блокировок избежать? В свое время задолбался с этим.
-
> DiamondShark © (28.12.10 12:51) [27] > > > > А пока ты их редактируешь, на них должна быть блокировка > > поставлена, > > Привет^Wпрощай масштабируемость. >
с какого перепугу? если куча народу ломится редактировать одно и тоже, проблема организационная, и создавать автоматизированный бардак безблагодатно. к относительно специфичечным вещам типа продажи жд-билетов, это, ессно, не относится.
-
to Petr V. Abramov © (28.12.10 13:38) [36]:
> если куча народу ломится редактировать одно и тоже, проблема > организационная
Именно. Ибо нефиг. Непротиворечивость и целостность данных - важнее.
-
> [29] Ega23 © (28.12.10 13:07) > см. [25], я просто забыл этот момент описать.
> [25] Ega23 © (28.12.10 11:53) > "Эта запись редактируется Васей Пупкиным с рабочей станции > Workstation"
Статус: отошёл какать, после обедать.
-
> Статус: отошёл какать, после обедать.
Не вижу причин, почему нельзя реализовать мессенджер, если такой присутствует в ТЗ.
|