Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование из одной таблицы в другую [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]

текст приведи, что конкретно не получается


Наверх

Титульная страница Поиск, карта сайта Написать письмо