SergioTsch » 11 авг 2010, 10:47
Благодарю! А скажите, airyashov, пожалуйста, как мне сделать построчный вывод запроса на выборку?
Просто мне нужно вставить несколько записей в разные места таблицы. Пробовал использовать Инсерт (таблица без индексов и ключей), но ничего не получается - он добавляет новую запись в конец таблицы, даже когда я через MoveBy указываю точную (нужную) позицию курсора, куда нужно вставить.
В общем, я пришел к выводу, что нужно сделать запрос на выборку из таблицы-источника, а потом построчно добавлять в пустую таблицу записи из запроса, а там, по ходу добавления заодно и добавлять нужные другие мне записи.
Я приведу тут код (если я что неверно/непонятно объяснил):
Код: Выделить всё
# i:=0;
# with Query2 do
# begin
# First;
# ArrFields[0]:=Query2.FieldValues['sor_mesp']; // первая запись
# ArrFields[1]:=Query2.FieldValues['sor_os'];
# ArrFields[2]:=Query2.FieldValues['sor_ind'];
# ArrFields[3]:=Query2.FieldValues['sor_kk'];
# Next; i:=i+1; // номер записи
# if Query2.FieldByName('sor_ind').Value<>00580 then // если нет записи, где значение sor_ind не равно 00580, то
# begin // создаем ее (запись) с этим значением
# First;
# MoveBy(i); // идем к текущей записи
# // Insert; // вот тут вставка и не получается !
# Edit; // а тут - записывает, но не добавляет новую запись !!!
# FieldByName('sor_mesp').Value:=123; // Query2.FieldValues['sor_mesp'];
# FieldByName('sor_os').Value:=456; // Query2.FieldValues['sor_os'];
# FieldByName('sor_ind').Value:=580; // Query2.FieldValues['sor_ind'];
# FieldByName('sor_kk').Value:=101; // Query2.FieldValues['sor_kk'];
# Post;
# end;
# end;
Благодарю! А скажите, airyashov, пожалуйста, как мне сделать построчный вывод запроса на выборку?
Просто мне нужно вставить несколько записей в разные места таблицы. Пробовал использовать Инсерт (таблица без индексов и ключей), но ничего не получается - он добавляет новую запись в конец таблицы, даже когда я через MoveBy указываю точную (нужную) позицию курсора, куда нужно вставить.
В общем, я пришел к выводу, что нужно сделать запрос на выборку из таблицы-источника, а потом построчно добавлять в пустую таблицу записи из запроса, а там, по ходу добавления заодно и добавлять нужные другие мне записи.
Я приведу тут код (если я что неверно/непонятно объяснил):
[code]# i:=0;
# with Query2 do
# begin
# First;
# ArrFields[0]:=Query2.FieldValues['sor_mesp']; // первая запись
# ArrFields[1]:=Query2.FieldValues['sor_os'];
# ArrFields[2]:=Query2.FieldValues['sor_ind'];
# ArrFields[3]:=Query2.FieldValues['sor_kk'];
# Next; i:=i+1; // номер записи
# if Query2.FieldByName('sor_ind').Value<>00580 then // если нет записи, где значение sor_ind не равно 00580, то
# begin // создаем ее (запись) с этим значением
# First;
# MoveBy(i); // идем к текущей записи
# // Insert; // вот тут вставка и не получается !
# Edit; // а тут - записывает, но не добавляет новую запись !!!
# FieldByName('sor_mesp').Value:=123; // Query2.FieldValues['sor_mesp'];
# FieldByName('sor_os').Value:=456; // Query2.FieldValues['sor_os'];
# FieldByName('sor_ind').Value:=580; // Query2.FieldValues['sor_ind'];
# FieldByName('sor_kk').Value:=101; // Query2.FieldValues['sor_kk'];
# Post;
# end;
# end;[/code]