Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование таблиц из второстепенных баз в гланую 
:(
    Опции темы
addet
Дата 5.3.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день! Обращаюсь опять к Вам за помощью. Необходимо из таблиц второстепенных баз mdb скопировать в главную базу данные и если они повторились вывести пользователю сообщение, о том что такие данные существуют. Попыталась сделать для 2 таблиц не получилось. На форме лежит 2 Adodataset  и AdoConnection(для подключения внешней базы). Пишу что то типа этого
Код

procedure TJOIN.BitBtn1Click(Sender: TObject);
begin
ADODataSet_all.Close;
ADODataSet_all.CommandText := ' Insert Into str150 In "C:\Documents and Settings\Anj\Мои документы\Borland Studio Projects\idk\22\db22.mdb" Select * from str150 ';
ADODataSet_all.Open;
end;



Выдает ошибку "Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции"
P.S. db.mdb-главная, db22.mdb-второстепенная
PM MAIL   Вверх
Savek
Дата 5.3.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



естественно, TADODataSet предназначен для выборки данных, а никак не для их модификации, подобные запросы отправляются при помощи TADOCommand или TADOQuery 
PM MAIL   Вверх
Rodman
Дата 5.3.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



лучше уже два конекшина и в цикле все пергнать!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
addet
Дата 6.3.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я понимаю, что 2 коннекшина, только не могу додуматься как это сделать. Подскажите начало, плиз smile 
PM MAIL   Вверх
Rodman
Дата 6.3.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



1. Создаешь конекшн для одной базы, ну и второй - для второй. )))
2. По той же схеме создаешь два Query...
3. Пишешь примерно такой код
Код

QueryNotMain.Close;
QueryNotMain.SQL.Text := 'Select Field1, Field2, Field3 from str150;';
QueryNotMain.Open;
QueryNotMain.First;
QueryMain.Close;
QueryMain.SQL.Text := 'INSERT INTO str150 (Field1, Field2, Field3) VALUES (:Prm1, :Prm2, :Prm3);';
while not QueryNotMain.eof do
begin
  QueryMain.Parameters.ParamByName('Prm1').Value:=QueryNotMain.Fields.Fields[0].AsString;
  QueryMain.Parameters.ParamByName('Prm2').Value:=QueryNotMain.Fields.Fields[1].AsString;
  QueryMain.Parameters.ParamByName('Prm3').Value:=QueryNotMain.Fields.Fields[2].AsString;
  QueryMain.ExecSQL; 
  QueryNotMain.Next;
end;
и смотришь!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
addet
Дата 6.3.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хочу уточнить, мне нужно из 25 второстепенных баз данных mdb скопировать таблицы в главную.Записей в каждой таблице где то по 1000 за месяц. А предложенный код 
Rodman, получается копирует одну запись. Названия и поля у всех таблиц во всех базах одинаковые, только записи разные.
PM MAIL   Вверх
Rodman
Дата 6.3.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(addet @  6.3.2008,  10:05 Найти цитируемый пост)
получается копирует одну запись.

с чего ты взял...
Цитата(Rodman @  6.3.2008,  08:51 Найти цитируемый пост)
'Select Field1, Field2, Field3 from str150;';

выбираются все записи из трех полей таблицы str150

а потом в цикле их перебирает и закидывает построчно в новую...

или я не понял вопроса!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
former
Дата 6.3.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Rodman, он, наверное, име6л ввиду одну таблицу.
addet, так создай цикл для всех твоих таблиц, а в нём помести код Rodman-а.

Это сообщение отредактировал(а) former - 6.3.2008, 11:47


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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