Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как обновлять TAdoTable в одной форме, при изменении в другой?


Страницы:   1 2 3 4

тимохов ©   (2009-02-18 08:58:00) 

Здравствуйте!

Есть 2 MdiChild формы.
На каждой по TAdoTable, смотрящих на одну и ту же таблицу в БД.

Требуется при изменении таблицы в одной форме как-то обновить TAdoTable в другой форме.

Какой для этого у Дельфи существует стандартное решение?
Если нет, то кто как делает в подобных случаях?


тимохов   (2009-02-18 14:13:00) [21]


> Sergey13 ©   (18.02.09 13:08) [42]
>
> > [38] тимохов   (18.02.09 12:34)
> > по теме датабазных компонентов дельфи
>
> ИМХО читать тут надо про клиент-серверную технологию вообще


старик, у меня 2 крупных разноплановых проектов от клиент-серверных до распределенных. публичный, правда 1 - www.vkkb.ru. тут, я думаю учиться мне нечему.

твое мнение про MDI мне видится крайне спорным. а что скажешь про 1C - у нее какой интерфейс какой? не MDI случаем?


Плохиш   (2009-02-18 14:07:00) [22]


> Anatoly Podgoretsky ©   (18.02.09 13:48) [45]
>
> > Плохиш  (18.02.2009 10:59:11)  [11]
>
> Ни грамма не похож, тот умный.

Вот и я удивился, а он утверждает, что он...


тимохов   (2009-02-18 14:06:00) [23]


> Anatoly Podgoretsky ©   (18.02.09 13:49) [46]
>
> > тимохов  (18.02.2009 11:11:13)  [13]
>
> TDecimal -> TBCD/TFmtBCD

Анатолий, не говори глупостей :) Они ни фига не тоже самое для tdecimal. Особенно в AdoDb.
См. выше, исходники что-ли adodb посмотри, подумай над ними на досуге, QC посмотри насчет багов в той части, а потом пиши на форум.
ок?

-------
Перефразирую, спасибо доброй половине форума, которая сказала действительно полезное.


Anatoly Podgoretsky   (2009-02-18 13:49:00) [24]

> тимохов  (18.02.2009 11:11:13)  [13]

TDecimal -> TBCD/TFmtBCD


Anatoly Podgoretsky   (2009-02-18 13:48:00) [25]

> Плохиш  (18.02.2009 10:59:11)  [11]

Ни грамма не похож, тот умный.


Anatoly Podgoretsky   (2009-02-18 13:45:00) [26]

> тимохов  (18.02.2009 9:21:05)  [5]

> Я вообще планирую данную систему развивать долго и поглотить все наши учетные задачи по работе с клиентами. Своего рода - это доморощенная CRM система будет, учитывающая специфику взаимодействия с клиентами.

Ты для начала освой основы, потом будешь использовать грозные слова.


Sergey13   (2009-02-18 13:11:00) [27]

> [42] Sergey13 ©   (18.02.09 13:08)
> в принципе направильно
в принципе не правильно


Sergey13   (2009-02-18 13:08:00) [28]

> [38] тимохов   (18.02.09 12:34)
> по теме датабазных компонентов дельфи

ИМХО читать тут надо про клиент-серверную технологию вообще для начала. Т.е. мысленно уходить от модели "взять от базы все и тут покрутить" как можно дальше.
Плюс продумать хорошенько пользовательский интерфейс. ИМХО в принципе направильно давать пользователю ОДНОВРЕМЕННО работать и в справочнике клиентов и в частях приложения, основанных на этом справочнике. MDI придумывался, как мне кажется, для работы с однотипными и НЕЗАВИСИМЫМИ документами. Тот-же ворд например. Для специализированного софта для разнообразной работы с разнообразной и ЗАВИСИМОЙ информацией он подходит очень плохо (исключений думаю не много).

После этого вопрос о конкретных компонентах может и сам собой отпадет.


тимохов   (2009-02-18 12:54:00) [29]

Еще раз всем спасибо за внимание.
Хороший у нас формум - добрый и отзывчивый.


Ega23   (2009-02-18 12:45:00) [30]


> Все же остался вопрос - что почитать такого полезного по
> теме датабазных компонентов дельфи? Что есть такое узкоспециализированное?


На sql.ru и на rsdn посмотри статьи, вроде неплохие были.
Сам тоже всё собираюсь Getting Started написать, да руки никак не доходят.


sniknik   (2009-02-18 12:40:00) [31]

> Проблема копейки вообще не разрешима.
??? а почему бы не считать также как это делает бухгалтер руками (т.е. с тем же округлением), так как в документ выводится. а чтобы не "рвало" с другими отчетами, то и хранить в той же форме, приводя результаты вычислений к такому же виду...
естественно в таком случае будет не стыковка "в общем" на результат округлений, но он в общем будет меньше т.к. часть "плюсовых округлений" поглотится "минусовыми" из других расчетов...
(кстати очень похоже на банковское округление. почитай если интересно).


тимохов   (2009-02-18 12:34:00) [32]

Все же остался вопрос - что почитать такого полезного по теме датабазных компонентов дельфи? Что есть такое узкоспециализированное?

К справке не относите - она у Delphi2007 отстойная.


тимохов   (2009-02-18 12:28:00) [33]


> sniknik ©   (18.02.09 12:25) [36]

Проблема копейки вообще не разрешима.
Ее только договоренностями можно решать.

Опять же - в учетную политику предприятия можно прописать.


sniknik   (2009-02-18 12:25:00) [34]

Ega23 ©   (18.02.09 12:10) [31]
и??? чего то не понял к чему это.

или, не я не понял...
ну ладно давай возьмет твои цифры, для примера немного упростим, т.к. смысл показать не проблему переполнения, а проблему разрыва хранения с отображением.
пусть ты хранишь так, и считаешь соответственно,
9.9999999999
8.8888888888
7.7777777777
6.6666666666
сумма
33,333333333
но в документе "удобоваримой" будет округление до 2 цифр (максимум 3, больше не видел) после запятой, т.е. документ будет вида
10.00
8.89
7.78
6.67
сумма
33.33

а ручная проверка даст 33,34 ... где копейка? и объясняй это не мне , а бухгалтеру...


тимохов   (2009-02-18 12:23:00) [35]


> Johnmen ©   (18.02.09 12:16) [33]
> > Потом иметь проблемы, присущие числам с плавающей точкой?
> Какие конкретно?


Сравнивать равенством. Нельзя же. Ну и прочие недостатки, описанные в небезызвестной статье Антона Григорьева. Скажу честно, что я не пользовался флоатами уже лет 7 - когда они меня в первый раз разочаровали, я еще "зеленый" был, возможно, что с теперешним опытом я бы лучше к ним стал относиться. С тех пор TDecimal использовал исключительно.

------
Господа, всем спасибо за внимание. Пойду почитаю что-нибудь :)


тимохов   (2009-02-18 12:17:00) [36]


> MsGuns ©   (18.02.09 12:05) [28]

Спасибо за лекцию. Буду думать.

Вообще, если у меня станет серьезная задача развивать CRM я перепишу ее в своем существующим frame-work'е, который неплохо продуман для разработки и последующей поддержки (на нем крутится 50 инсталляций с 100 юзерами в каждой - бухгалтерами, финансистами, МСФОошниками и кучей другого народа, данных до 10млн сущностей) но не обладает возможность быстрого создания прототипов: если уж сел делать, то делай хорошо и сразу. А дельфи, видимо, неплох для создания прототипов. Поэтому, от native датабазных контролов дельфи мне нужен минимальный набор функциональности - лишь бы идея базы была понятна.


Johnmen   (2009-02-18 12:16:00) [37]


> Может на float перейти?

На DOUBLE PRECISION.

> Потом иметь проблемы, присущие числам с плавающей точкой?

Какие конкретно?


Ega23   (2009-02-18 12:12:00) [38]

Вместо лукапа, возможности которого крайне ограничены, использовать форму отображения справочника, показываемую модально. Если нужно добавление (правка) "на лету", предусмотреть модальный вызов из этой формы другую типа "карточка партнера", где и вводить поля нового или редактируемого партнера. Форма справочника много предпочтительнее лукапа потому, что обладает всеми "вкусностями": поиск, сортировки, фильтрации, а также показывает ВСЕ поля, а не только одно, как в лукапе. После внесения изменений модифицированную таблицу автоматически перечитывать (именно перечитывать, а не рефрешить !) с позиционированием на новой (измененной) записи

Ну да, в целом согласен. Как-то так и делаю обычно.


Ega23   (2009-02-18 12:10:00) [39]


> а потом бухгалтер берет накладную/отчет складывает столбиком
> все цифры проверяя сумму и...... "где копейка. я вас спрашиваю?
>  это документ! тут все должно до копеек сходится!"
>


select Numb=cast(Numb as varchar(30)) from test

Numb                          
------------------------------
999999999999999999.9999999999
888888888888888888.8888888888
777777777777777777.7777777777
666666666666666666.6666666666

(4 row(s) affected)


Плохиш   (2009-02-18 12:10:00) [40]


> тимохов   (18.02.09 11:11) [13]

> Это именно я... Видимо тебя удивило мое незнание стандартной
> библиотеки дельфи?

Меня не это удивило, а отсутствие логики. К тому же эта тема многократно мусолилась на форуме, правда раньше эти темы сразу же отправляли в "начинающим".


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо