roboforum.ru

Технический форум по робототехнике.

blindman - [Как возвести 2 в степень n?]

Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: blindman - [Контроллер для специальной фотосъемки]

blindman » 04 май 2011, 15:22

Привезли мне пистолет. Надо теперь PIN-фотодиодов прикупить

Re: blindman - [Delphi жив :)]

blindman » 03 июн 2011, 18:50

Вот уж не думал, что через 10 лет придется вернуться к паскалю и дельфи. Понадобилось наваять простую программку работающую с базой данных под Linux и Windows. Ну я зная что в Qt есть модуль QtSql, был уверен что напишу все без проблем. Не тут то было. Он собака не может обновить данные из связанной таблицы. То есть если у меня грубо говоря есть клиент по имени Вася, и ему выписан счет, то открыв список счетов и список клиентов, я увижу там и там Вася. Но вот если я поменяю имя Васи на Васёк, в списке счетов оно не обновится. Путем пляски с бубном можно обновить список счетов, вот только текущая запись уедет в начало списка, а запомнить и вернуть ее - фигушки :(

Пошел устанавливать Lazarus и вспоминать былые времена :)

Re: blindman - [Delphi жив :)]

avr123.nm.ru » 03 июн 2011, 19:30

Жив курилка!

Re: blindman - [Delphi жив :)]

=DeaD= » 03 июн 2011, 20:27

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

Re: blindman - [Delphi жив :)]

blindman » 03 июн 2011, 20:34

=DeaD= писал(а):Что значит обновить данные из связанной таблицы?

А что, мой пример с клиентом и счетом не понятен? Изменили имя клиента, в отображаемом списке счетов имя клиента не изменилось - надо заново явно выполнять запрос. При этом состояние View теряется, указатель текущей записи переходит в начало списка

Re: blindman - [Delphi жив :)]

=DeaD= » 03 июн 2011, 21:11

Ну то есть вопросы с завязанным на БД компонентом, так?

Добавлено спустя 8 минут 35 секунд:
Понял про что ты - я бы забил нафиг на такую мелочь, потому что это вопрос кэширования, если его не будет - приложение будет тормозить жестко на крупных базах данных.

Re: blindman - [Delphi жив :)]

blindman » 03 июн 2011, 23:20

Да я бы тоже забил (что и делают как правило - в той же 1С). Но хочется все красиво сделать, тем более что больших объемов данных не предвидится.

Поковырял Lazarus - судя по всему там та же песня. Давно это было, подзабыл уже, почему-то было впечатление что в Delphi такие проблемы как-то решались.

Поиск в интернете еще раз подтвердил - хочешь сделать хорошо, делай все сам :) Те, кто решал подобную проблему, отказывались от использования QSqlQueryModel сотоварищи, и писали свои модели доступа к данным, заточенные под задачу и взаимодействующие между собой.

Добавлено спустя 1 минуту 16 секунд:
Косвенное подтверждение того, что штатными средствами этого не сделать - молчание на форуме qtcentre.org

Re: blindman - [Delphi жив :)]

=DeaD= » 03 июн 2011, 23:54

Лучше не делать красиво, лучше делать правильно и индустриально, как следствие не дергать сложными запросами базу данных по поводу и без. А красивости обычно выливаются в собранные на коленке решения с неожиданной логикой, которые потом поддерживать - адский ад :)

Re: blindman - [Delphi жив :)]

blindman » 04 июн 2011, 05:39

Не учите меня жить :)

Re: blindman - [Delphi жив :)]

=DeaD= » 04 июн 2011, 05:49

Ну почему же сразу учить, делюсь опытом, возможно в некорректной форме :pardon: он у меня богатый и самоличного залипания в такие красивости и разгребания их и за собой и за другими, а как оглядываешься на то, сколько сил убито для реализации и сколько в итоге пользы с этого получено - волосы дыбом встают :)

Re: blindman - [Delphi жив :)]

blindman » 04 июн 2011, 06:58

Ну не надо так буквально воспринимать :) Я к тому, что у самого такого опыта - вагон

Re: blindman - [Delphi жив :)]

blindman » 04 июн 2011, 13:45

=DeaD= писал(а):я бы забил нафиг на такую мелочь, потому что это вопрос кэширования


Забил :)

Все справочники гружу в оперативку, и оттуда достаю когда надо. По природе своей они маленькие, не более нескольких сотен записей. При необходимости редактирования - изменяю в памяти и одновременно в базе данных.

Re: blindman - [Delphi жив :)]

=DeaD= » 04 июн 2011, 13:47

Кстати, проект под 1 пользователя или под пачку?

Re: blindman - [Delphi жив :)]

blindman » 04 июн 2011, 13:48

Под одного, разумеется.

Re: blindman - [Даташиты надо читать!]

blindman » 19 июн 2011, 14:50

Почему-то был уверен, что CP2102 может работать от 5 вольт, как и FT232. Только после того, как сгорели 3 микросхемы, удосужился повнимательнее прочитать документацию. А там - 4.2 В максимум :( Жаль, теперь надо два десятка плат заново делать. Хорошо хоть они двойного назначения, можно использовать для другого девайса из комплекта, где связь с компьютером не нужна.


Rambler\'s Top100 Mail.ru counter