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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2013, 18:41   #1
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Перенос данных из DBGrid в DBGrid

Есть два DBGrid с разным количеством и названием колонок. Данные в DBGrid загружаются из EXcel. Схожие колонки по названию: "Код", "Наименование товара", "Наличие", "Дата прихода"
Нужно из одного DBGrid перенести все отображаемые данные в другой.
Нашел на форуме такой пример.
Код:
ADOQuery2.Close;
ADOQuery.SQL.Text := 'INSERT INTO table1 (pole1, pole2, pole3) VALUES (:pole1, :pole2, :pole3)';
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
  ADOQuery2.Parameters.ParamByName('pole1').Value := ADOQuery1.FieldByName('pole1').Value;
  ADOQuery2.Parameters.ParamByName('pole2').Value := ADOQuery1.FieldByName('pole2').Value;
  ADOQuery2.Parameters.ParamByName('pole3').Value := ADOQuery1.FieldByName('pole3').Value;
  ADOQuery2.ExecSQL;
  ADOQuery1.Next;
Пытаюсь приспособить под себя
Код:
procedure TForm1.Button5Click(Sender: TObject);
begin
ADOQuery2.Close;
ADOQuery1.SQL.Text := 'INSERT INTO [Лист1$] (Код) VALUES (:Код)';
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
  ADOQuery2.Parameters.ParamByName('Код').Value := ADOQuery1.FieldByName('Код').Value;
  ADOQuery2.ExecSQL;
  ADOQuery1.Next;
end;
end;
Возникает ошибка при нажатии на кнопку "В операции должен использоваться обновляемый запрос".
Помогите пожалуйста.
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 01.12.2013, 19:09   #2
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Вы разберитесь с именами, кто вставляет, для кого Open, а для кого ExecSQL
ReportCube вне форума Ответить с цитированием
Старый 01.12.2013, 20:10   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот именно. Insert прописан для ADOQuery1 а выполнить пытаешся ADOQuery2
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.12.2013, 21:38   #4
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

поменял на
Код:
ADOQuery1.ExecSQL
;
Ошибка таже.
Вышеприведенный код я взял отсюда http://www.programmersforum.ru/showthread.php?t=239877
Смотреть фильмы HD Фильмы для планшетов

Последний раз редактировалось demiancz; 01.12.2013 в 21:51.
demiancz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных из Excel в DBGrid demiancz БД в Delphi 5 30.11.2013 23:55
перенос данных из dbgrid в dbgrid Obnx БД в Delphi 8 26.06.2013 22:38
Перенос данных из DbGrid в Excel Nigadyai Общие вопросы Delphi 1 21.03.2010 02:31
перенос данных из DBGrid в DBGrid KingSize БД в Delphi 17 24.04.2009 09:30
Перенос данных из StringGrid-а в DBGrid artemavd БД в Delphi 16 21.03.2009 08:26