|
|
|
Заполнение 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, 19:16 |
|
||
|
Заполнение dataset
|
|||
|---|---|---|---|
|
#18+
wsnet Есть DataSet (MemTableEh), прикрученный к таблице. "Прикрученный" - это что значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2020, 22:03 |
|
||
|
Заполнение dataset
|
|||
|---|---|---|---|
|
#18+
Зачем на клиенте искусственно объединять два таблицы ? Не проще ли построить нужный запрос к серверу ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2020, 00:01 |
|
||
|
Заполнение 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2020, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39985852&tid=2038097]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
215ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 548ms |

| 0 / 0 |
