Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2009, 15:05   #1
bbk_serg
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 62
Смущение передача данных

Как передать данные из Form1.DBGrid1 в Form2.DBGrid1.

Спасибо!!
bbk_serg вне форума Ответить с цитированием
Старый 14.04.2009, 15:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Никак.
Передавай из базы в базу.
Обьясни подробнее что нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.04.2009, 15:20   #3
bbk_serg
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 62
По умолчанию

Есть две таблицы, все поля одинаковые, мне нужно чтобы когда виделил строку и нажал на кнопку "Переместить" эта строка скопировалась в другую таблицу.
bbk_serg вне форума Ответить с цитированием
Старый 14.04.2009, 19:40   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Код:
procedure TForm1.add_to_notebook;
var i: integer;
begin
  ADOTable2.Last;
  ADOTable2.Insert;
  ADOTable2.Edit;
 
   for i:=0 to ADOTable1.FieldCount - 1  do
      ADOTable2.Fields[i].AsString := ADOTable1.Fields[i].AsString;

  ADOTable2.Post;
end;
ADOTable1 - исходная таблица
ADOTable2 - куда копируем данные

Здесь частный случай, когда все поля имеют тип String, если у вас это не так, то вместо цикла можно каждому полю присвоить свое значение, например
Код:
  ADOTable2.Fields[0].AsBoolean := ADOTable1.Fields[0].AsBoolean;
  ADOTable2.Fields[1].AsDateTime := ADOTable1.Fields[1].AsDateTime;
  ADOTable2.Fields[2].AsInteger := ADOTable1.Fields[2].AsInteger;
..........
Можно, чтобы не на кнопку нажимали "Переместить", а привязать PopupMenu к DBGrid и при нажатии левой кнопки на DBGrid, юзер сможет выбрать нужное действие.
Gorychev вне форума Ответить с цитированием
Старый 15.04.2009, 11:57   #5
bbk_serg
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 62
Смущение

Все работает, но есть одно но, при копировании постоянно заменяет одну и туже запись. Как это исправить???

СПАСИБО!!!
bbk_serg вне форума Ответить с цитированием
Старый 15.04.2009, 14:12   #6
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Наверное потому что используете AdoTable2.Edit - что означает редактирование текущей записи. А если вставить новую запись то AdoTable2.Insert;
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 15.04.2009, 14:23   #7
bbk_serg
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 62
По умолчанию

Все работает!


ВСЕМ ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!
bbk_serg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных по ЛС PONKA Работа с сетью в Delphi 1 27.11.2008 09:57
Чат, передача данных Патрон Общие вопросы Delphi 1 24.06.2008 09:15
Передача данных Ivanich JavaScript, Ajax 1 29.04.2008 00:25
Передача данных ChipLink Общие вопросы Delphi 4 06.01.2008 11:28