
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.08.2020, 19:16
|
|||
|---|---|---|---|
Заполнение dataset |
|||
|
#18+
Подскажите, как лучше сделать. Есть DataSet (MemTableEh), прикрученный к таблице. В odacQuery1 есть записи: id_rec name В odacQuery2 есть записи: id_rec state - поле state (0-не определено; 1 - выполнено; 2 - не выполнено). Задача заполнить DataSet (MemTableEh), в итоге каждая строка должна быть: id_rec name state А далее отсортировать его таким образом, чтобы сначала шли записи со статусом =0, потом 1, потом 2. Сейчас просто делаю три прогона по odacQuery1, в каждом из них проверяю поле state, а затем по id_rec добавляю в DataSet (MemTableEh). try while not odacQuery1.Eof do begin if odacQuery2.Locate('id_rec', odacQuery1.FieldByName('id_rec').AsInteger, []) and odacQuery2.FieldByName('state').asInteger = 0 then begin memTable1.Append; memTable1.FieldByName('id_rec').AsInteger := odacQuery1.FieldByName('id_rec').AsInteger; memTable1.FieldByName('state').Value := odacQuery2.FieldByName('state').Value; memTable1.Post; end; odacQuery1.Next; end; Далее циклы но уже для state = 1, далее для = 2 Как можно решить проблему более лаконичнее, без трех прогонов? Возможно получить все в MemTableEh, а потом отсортировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.08.2020, 22:03
|
|||
|---|---|---|---|
|
|||
Заполнение dataset |
|||
|
#18+
wsnet Есть DataSet (MemTableEh), прикрученный к таблице. "Прикрученный" - это что значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.08.2020, 00:01
|
|||
|---|---|---|---|
Заполнение dataset |
|||
|
#18+
Зачем на клиенте искусственно объединять два таблицы ? Не проще ли построить нужный запрос к серверу ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.08.2020, 13:57
|
|||
|---|---|---|---|
Заполнение dataset |
|||
|
#18+
wsnet Как можно решить проблему более лаконичнее, без трех прогонов? 1. Либо "лаконичнее", либо "более лаконично". 2. select t1.id_rec, t1.name, t2.state from t1, t2 where t1.rec_id = t2.rec_id order by t2.state ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038097]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
8ms |
get forum data: |
4ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 452ms |

| 0 / 0 |
