![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование из одной таблицы в другую [D5, dBase, FoxPro]
LAndreyV © (2004-02-27 12:07:00)Есть 2 таблицы с одинаковыми структурами. Надо из первой таблицы скопировать все данные из второй таблицы и далее очистить первую таблицу от всех данных.
Вроде бы просто!? но чёта не получается. Помогите.
LAndreyV (2004-02-27 14:03:00) [1]спасибо
SPIRIT (2004-02-27 13:41:00) [2]ой... вот с перебором правда ...
with query do
begin
active:=false;
sql.Clear;
sql.Add('Select name');
sql.add('from table_blok');
active:=true;
first;
while not eof do
begin
with query_ekz do
begin
active:=false;
sql.Clear;
sql.Add('insert into table_copy (name) values (:d)');
parameters.ParamByName('d').Value:=query.fieldbyname('name').Value;
ExecSQL;
end;
next;
end;
end;
end;
LAndreyV (2004-02-27 13:23:00) [3]ну да ладно. спасибо, что хоть немного обратили внимание.
кажись я через F1 все нашел. Если не получиться, то напишу.
LAndreyV (2004-02-27 13:13:00) [4]Вот точный текст:
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('SELECT * from t5');
Query3.Open;
Query2.Close;
Query2.SQl.Clear;
Query2.SQL.Add('Insert Into t4 (Select * from t5)');
Query2.EXECSql;
Query2.SQL.Add('Delete * from t5');
Query2.EXECSql;
Query2.SQL.Clear;
Query2.SQL.Add('Sqlect * from t4');
Query2.open;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('SELECT * from t5');
Query3.Open;
Вот, что пишет:
Project ari.exe raiset exception class EDBEngineError with message 'Invalid use of keyword.
Token:Select
SPIRIT (2004-02-27 13:05:00) [5]я не говорю что ты тупой... просто ты скажи, что кампилятор пишет
LAndreyV (2004-02-27 13:02:00) [6]я не тупой. действительно не работает.
если ты знаешь, то можешь сказать :'да так' или 'нет не так'.
SPIRIT (2004-02-27 12:59:00) [7]ты хочешь, чтобы мы у себя откампилировали еще ?
LAndreyV (2004-02-27 12:56:00) [8]так что ли:
Insert Into t2 (Select * from t1);
delete * from t1;
???????????
SPIRIT (2004-02-27 12:54:00) [9]
> Alex_Bredin © (27.02.04 12:52) [9]
жалко что секунды добавления мессаджа не показыват
SPIRIT (2004-02-27 12:52:00) [10]проще см. [2]
Alex_Bredin (2004-02-27 12:52:00) [11]тебе же написали BatchMove!!
зы кнопка F1 вторая слева сверху
LAndreyV (2004-02-27 12:51:00) [12]а есть попроще метод?
полей на самом деле дофига, и если я в один прекрасный день изменю структуру, то и придется переписывать исходник!
SPIRIT (2004-02-27 12:50:00) [13]ну конечно не пойдет sql же не знает что такое Query1.fieldbyname('m1').value ... для это есть параметры.. задавай параметры и передавай ...
LAndreyV (2004-02-27 12:48:00) [14]так тоже делал - не идет!
SPIRIT (2004-02-27 12:42:00) [15]Query1.fieldbyname('m1').value вместо Query1.m1
Alex_Bredin (2004-02-27 12:35:00) [16]Query1.m1,Query1.m2,Query1.m3,Query1.m4,Query1.m5,Query1.m6,Query1.m7
а это что?
LAndreyV (2004-02-27 12:31:00) [17]Query1.SQL.Add('SELECT * from t1');
Query1.Open;
Query2.Active:=false;
For y:=0 to (Query1.RecordCount-1) do
begin
Query2.SQL.Add('INSERT INTO t2 (m1,m2,m3,m4,m5,m6,m7) ');
Query2.SQL.Add('VALUES (Query1.m1,Query1.m2,Query1.m3,Query1.m4,Query1.m5,Query1.m6,Query1.m7)');
Query2.ExecSQL;
Query2.SQL.Clear;
Query1.Next;
end;
Query2.SQL.Clear;
Query2.SQL.Add('SELECT * from t2');
Query2.Open;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('DELETE from t1');
Query1.ExecSql;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from t1');
Query1.open;
Alex_Bredin (2004-02-27 12:19:00) [18]1.BatchMove(или Insert ..(select * from))
2.Delete* from
SPIRIT (2004-02-27 12:15:00) [19]текст приведи, что конкретно не получается