169 похожих чатов

Всем привет. Подскажите, пожалуйста, как вы реализовываете следующий функционал. Допустим

есть форма, в которой имеется выпадающий список со значениями. Значения хранятся в БД. Например, статусы. Тащить их из БД каждый раз при открытии формы - наверно не совсем корректно. Есть идея закэшировать этот набор данных на стороне клиента в виде TDictionary. На сколько это правильное решение? И можно ли этот список будет использовать по всей программе, вытаскивая из него значения для выпадающего списка для необходимых форм.

7 ответов

9 просмотров

Корректно. Просто проверяй, что справочник не изменился. Например, получай новое, при открытии формы. Например по ID.

Делал так недавно. Адекватное решение

Достаточно просто DataSet, не знаю твоих решений, но и список/dictionary тоже подойдет.

Если нет какого-нибудь событийного механизма оповещения от БД, что данные не актуальны и пора обновится, то логичнее получать данные каждый раз при заполнении списка. Иначе рискуешь работать с актуальными данными.

Если данные редактируются только вашей программой, то можно рассылать сообщение по сети при сохранении в БД. А лучше сообщение послать из триггера СУБД, а программа его отслеживать.

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

Отвечая на вопрос: такое решение допустимо и вполне работает, если (а) статусы не будут меняться или (б) по требованиям обновление списка доступных статусов допустимо делать только при запуске программы.

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Привет, имею проблему с better-sqlite3 модулем. После npm install я делаю ребилд модуля под свою текущую версию ноды с помощью npx electron-rebuild -f -m node_modules/better-s...
Anton Samofal
2
Anyone knows how to build this widget in Flutter? I have all the assets for round stations and the road, but how can I make the my widget animate between these stations? And h...
Mohammad Zamani
8
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
hello everyone can you help me above picture figma that give me and belove picture postman that give me api and is it match these?
Sardorbek
6
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
Anyone from Nigeria??
Mr ROBOT🤖
7
Карта сайта