04.02.2014, 16:00 | #1 |
Участник
|
Как вставить дубликат записи во временную таблицу
Есть врем таблица. Я по ней в цикле прохожусь.
В зависимости от условий я сохраняю текущую запись в некоторый буфер myTableTmpOld. Т.е делаю myTableTmpOld.data(myTableTmp); Тпереь , при некоторых условиях, мне нужно эту сохраненную запись вставить в ту же врем талицу, т.е создать дубликат по сути записи , сохраненной одной из предыдущих итараций цикла. Просто myTableTmpOld.insert не прокатывает, тк myTableTmpOld это отдельный буфер и он не смотрит на мою временную таблицу, поэтому я делаю обратное присваиване myTableTmp.data(myTableTmpOld) и потом уже myTableTmp.insert() Это единственный способ или есть более симпатичные? |
|
04.02.2014, 16:17 | #2 |
Участник
|
Сделайте setTmpData()
|
|
05.02.2014, 18:50 | #3 |
Участник
|
Как он поможет? Он же просто создаст целиком копию моей врем таблицы..
|
|
05.02.2014, 19:07 | #4 |
Участник
|
Извините за резкость, но вы документацию вообще читаете ?
Что трудно прочесть 1 страницу текста и понять в чем разница вызова common.data() и common.setTmpData() ? Цитата:
После вызова myTableTmpOld.data(myTableTmp); делаете myTableTmpOld.setTmpData(myTableTmp); и после этого они работают физически с одним временных файлом на диске. Можно открывать разные курсоры, но работа будет идти с одними и теми же данными. Правда тут возникает вопрос, попадет ли эта новая записи в цикл перебора (если он еще не завершен). Я не проверял. |
|
05.02.2014, 19:15 | #5 |
Участник
|
|
|
05.02.2014, 19:18 | #6 |
Участник
|
да, можно и до. можно вообще это перед циклом сделать. Главное чтобы буфер не обнулился и ссылка не потерялась.
|
|