![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обновлять TAdoTable в одной форме, при изменении в другой?
тимохов © (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]
> Это именно я... Видимо тебя удивило мое незнание стандартной
> библиотеки дельфи?
Меня не это удивило, а отсутствие логики. К тому же эта тема многократно мусолилась на форуме, правда раньше эти темы сразу же отправляли в "начинающим".