Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переместить запись из одной таблицы в другую, помогите новичку! 
:(
    Опции темы
Sportsmen
  Дата 21.5.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 3.11.2006
Где: Раша Родина наша- Старый Оскол

Репутация: нет
Всего: нет



У меня есть 2 таблицы "Заказы" и "Выполненые заказы". Как мне сделать копирование выбранной записи из  таблицы Заказы в табл. Выполненые заказы? smile Подскажите, пожалуйста, поподробней какие компоненты нужны, и что писать? 
P.S. Поля в таблице Заказы совпадают с полями Выполненые заказы, только в Выполненых есть еще поле [Дата выполнения].
PM MAIL ICQ   Вверх
Sansa
Дата 21.5.2007, 16:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 18.10.2006
Где: Королев

Репутация: 2
Всего: 6



при использовании компонента унаследованного от TDataSet 
Код

{-----------------------------------------------------------------------------
  Procedure: CopyRecord
  Author:    sansa
  Date:      25-сен-2005
  Arguments: ASrcDS: TDataSet
               Источник записи. 
             ADestDS: TDataSet
               Приемник записи.
             AExportTimeFieldName: string
               Имя поля, в которое будет занесено дата и время пересылки 
               записи.

  Result:    True - если запись удачно скопирована,  False в обратном случае
    
     Процедура копирует текущую запись из ASrcDS в ADestDS. 
     В приемник копируются только те записи, которые существуют в источнике.
     Записи в приемнике, не существующие в источнике не устанавливаются в 
     приемнике, за исключением поля, имя котрого передано AExportTimeFieldName.
     Это поле устанавливается текущим значением
-----------------------------------------------------------------------------}

function CopyRecord(ASrcDS, ADestDS: TDataSet; const AExportTimeFieldName: string): boolean;
var
  I, N: Integer;
  LFieldName: string;
  LDestField: TField;
begin
  ADestDS.Append;
  Result:= False;
  try
    for I:= 0 to Pred(ASrcDS.Fields.Count) do
    begin
      LFieldName:= ASrcDS.Fields[I].FieldName;
      LField:= ADestDS.FindField(LFieldName);
      if Assigned(LDestField) then
        LDestField.Value:= ASrcDS.Fields[I].Value
      else
      begin
        raise Exception.CreateFmt('В приемном источнике данных не существует поля "%s"', [LFieldName]);
      end;
    end;
    ADestDS.FieldByName(AExportTimeFieldName).Value:= Now();
    ADestDS.Post;
    Result:= True;
  except
    raise Exception.Create('Ошибка при копировании записи');
    ADestDS.Cancel;
  end;
end;



Это сообщение отредактировал(а) Sansa - 21.5.2007, 16:29
--------------------
- Здравствуйте, я Ваш патологоанатом
PM MAIL ICQ   Вверх
Savek
Дата 22.5.2007, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

Репутация: 7
Всего: 7



запросом
Код

Insert into [Выполненные] select * from Заказы where ID=:ID

PM MAIL   Вверх
Neox_GeForce
Дата 31.5.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Цитата(Savek @ 22.5.2007,  08:12)
запросом
Код

Insert into [Выполненные] select * from Заказы where ID=:ID

о спс! у меня точно такая же проблема токо таблицы другие


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.