Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
Delphi RAD Studio 10. Есть БД MySQL. Конекчусь к ней с помощью компонентов FireDac. Данные на форму вывожу с помощью TDBGrid. Мне необходимо что бы часть полей в гриде заполнялось из БД, а часть из другого источника(програмно). Подскажите как это лучше сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:04 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
>> https://www.bestprog.net/ru/2016/02/13/009-пример-создания-расчетных-полей-в-ко/ Это не подойдет. В примере расчет производится SQL запросом, а мне надо что бы в самом клиентском приложении дополнительные поля заполнялись. Данные беруться из другого источника, не из БД.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:21 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
set000666, тогда предлагаю 4 способа 1) В MySQL во времнную таблицу выгружаем дополнительные данные из других источников и уже в датасете показываем результат JOIN'a 2) используем какой-нибудь in-memory датасет, заполняем его из MySQL и далее оставшиеся поля из другого источника. Я этот способ в последнее время довольно часто использую. 3) в датасете добавляем Calculated поля, в программе организуем контейнер типа key-value и далее значения этих Calculated полей заполняем из контейнера в событии OnCalcFields датасета 4) можно ещё через Lookup-поля, но это если в датасете не очень много записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:28 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
5) только что ещё один способ пришёл в голову, обрытный первому: в MySQL создаём временную таблицу на основе запрашиваемой, расшияем её на дополнительные поля, далее заполняем их из других источников и в гриде показываем результаты SELECT'а из этой временной таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:39 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
>> только что ещё один способ пришёл в голову, обрытный первому: в MySQL создаём временную таблицу на основе запрашиваемой, расшияем её на дополнительные поля, далее заполняем их из других источников и в гриде показываем результаты SELECT'а из этой временной таблицы Думал уже об этом. Проблема в том, что данные в дополнительных полях должны обновляться с периодичностью 1 раз в секунду. Боюсь что слишком большая нагрузка на БД будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:43 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
set000666, тогда 3-й способ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:44 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
set000666 >> https://www.bestprog.net/ru/2016/02/13/009-пример-создания-расчетных-полей-в-ко/ Это не подойдет. В примере расчет производится SQL запросом, а мне надо что бы в самом клиентском приложении дополнительные поля заполнялись. Данные беруться из другого источника, не из БД.. Просто создаешь новую колонку в DBGrid. Заполняешьее в OnDrawColumnCell ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:46 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
set000666 >> только что ещё один способ пришёл в голову, обрытный первому: в MySQL создаём временную таблицу на основе запрашиваемой, расшияем её на дополнительные поля, далее заполняем их из других источников и в гриде показываем результаты SELECT'а из этой временной таблицы Думал уже об этом. Проблема в том, что данные в дополнительных полях должны обновляться с периодичностью 1 раз в секунду. Боюсь что слишком большая нагрузка на БД будет. Самое оптимальное: писать свой грид на базе StringGrida, который отображает ровно столько строк, сколько одномоментно отображается на экране. Как говориться: лучше один день потерять, затем за пять минут долететь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 11:49 |
|
||
|
Дополнительное поле в таблице.
|
|||
|---|---|---|---|
|
#18+
calculated поля датасета именно для такого и придумали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2021, 14:09 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2037480]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
12ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 409ms |

| 0 / 0 |
