Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

ADOTable1.LoadFromFile не сохраняет данные в БД   Найти похожие ветки 

 
Angel[Saint]   (2005-09-08 15:42) [0]

Доброго времени суток.
у меня такая проблема... есть 2 БД аксес. подключаюсь к 1-й и выполняю
ADOQuery1.SQL.Add("select * from table_name where id<100");
ADOQuery1.Open;
ADOQuery1.SaveToFile(ExtractFilePath(Application.ExeName)+"~tmp.dsf");
ADOQuery1.Close

Далее подключаюсь ко 2-й БД и выполняю такой код:
ADOTable1.TableName:="table_name";
ADOTable1.LoadFromFile(ExtractFilePath(Application.ExeName)+"~tmp.dsf");
ADOTable1.Close;

Вопрос: как сделать так, чтобы данные, загруженные из файла сохранялись в БД:


 
Desdechado ©   (2005-09-08 15:44) [1]

структура совпадает?
Ошибки выдает?


 
Плохиш ©   (2005-09-08 15:52) [2]


> Angel[Saint]   (08.09.05 15:42)

Вот мне интересно, кто тебе сказал, что ADOTable1.LoadFromFile должна сохранять данные в бд?


 
Angel[Saint]   (2005-09-09 07:56) [3]

> Desdechado
все нормально, данные загружаются без проблем. структура одинаковая.

> Плохиш
никто... я никогда не пользовался данными методами и вот решил попробовать... при решии данной задачи ето был бы простейший вариант. но вот не знаю как должно быть... в справке, в описании данного метода не сказано сохоаняет ли он данные в Бд или нет... вот я и решил спросить тут...

возможно ли сделать чтобы данные сохранялись?


 
Angel[Saint]   (2005-09-09 08:08) [4]

И еще вопрос в догонку... есть 2 ADOQuery, подключенных к разным базам. ADOQuery1 с данными, ADOQuery2 пустой. можно ли как-нибудь перекинуть данные из одного ADOQuery в другой минуя посредников, напрямую? т.е. не делая


ADOQuery1.First;
while not ADOQuery1.eof do
begin
  //1. Скопировать строку в память или куда-нибуть еще
  //2. Скопировать строку из памяти в ADOQuery2
  ADOQuery1.Next;
end;


 
Angel[Saint]   (2005-09-09 15:19) [5]

Мастера!!! ау!!!


 
Stanislav ©   (2005-09-09 15:24) [6]

А Зачем после загрузки ADOTable1.Close ?


 
Angel[Saint]   (2005-09-09 15:37) [7]

думал что может после закрытия сохранит данные, т.к. других методов сохранения не нашел. А процедура Post не помогает


 
Stanislav ©   (2005-09-09 15:59) [8]

Angel[Saint]   (09.09.05 08:08) [4]
Вообще-то нужно использовать SQL
Insert Into DESTTABLE (Field1,Field2)
Select Field1,Field2 from SourceTable


 
Плохиш ©   (2005-09-09 16:15) [9]


> Angel[Saint]   (09.09.05 07:56) [3]
> никто... я никогда не пользовался данными методами и вот
> решил попробовать... при решии данной задачи ето был бы
> простейший вариант. но вот не знаю как должно быть... в
> справке, в описании данного метода не сказано сохоаняет
> ли он данные в Бд или нет... вот я и решил спросить тут...

В справке сказано, что данные из файла загружаются в набор данных, а так же сказано, что перед этим предыдущий набор данных закрывается. А для полного понимания того, что делается, обычно открывают исходники и смотрят.

А самый простой путь Stanislav уже предложил :-)


 
Angel[Saint]   (2005-09-09 16:15) [10]

> Stanislav

это я знаю... но так можно делать в том случае, если обе таблицы находяться в ОДНОЙ БД... а в моем случае таблица в разных БД


 
Stanislav ©   (2005-09-09 16:19) [11]

Angel[Saint]   (09.09.05 16:15) [10]
1. Можно указать путь к базе прямо в запросе
2. можно подключить таблицу как связную


 
Angel[Saint]   (2005-09-09 16:19) [12]

и вообще... возможно ли данные, загруженные с помощью LoadFromFile сохранить потом в нужную таблицу БД... структура таблицы и загружаемых данных одинаковая


 
Плохиш ©   (2005-09-09 16:21) [13]


> Angel[Saint]   (09.09.05 16:15) [10]
> > Stanislav
>
> это я знаю... но так можно делать в том случае, если обе
> таблицы находяться в ОДНОЙ БД... а в моем случае таблица
> в разных БД

Если движок не позволяет [11] п.1, то только копируя записи из одного набора данных в другой.


 
Angel[Saint]   (2005-09-09 16:22) [14]

> Stanislav ©   (09.09.05 16:19) [11]
>1. Можно указать путь к базе прямо в запросе
как это сделать?
>2. можно подключить таблицу как связную
интересный вариант :) а можешь подсказать как программно выполнить такое?


 
Плохиш ©   (2005-09-09 16:23) [15]


> Angel[Saint]   (09.09.05 16:19) [12]
> и вообще... возможно ли данные, загруженные с помощью LoadFromFile
> сохранить потом в нужную таблицу БД... структура таблицы
> и загружаемых данных одинаковая

Да, используя [4]


 
Stanislav ©   (2005-09-09 16:26) [16]

INSERT INTO ZZ IN "D:\Documents and Settings\stas\Мои документы\db11.mdb"
SELECT DRFO1.*
FROM DRFO1;

Это 1-й вариант


 
Angel[Saint]   (2005-09-09 16:27) [17]

>Плохиш ©   (09.09.05 16:23) [15]
мне не нравится этот вариант... слишком долго работать будет, если много записей. есть еще варианты?


 
Stanislav ©   (2005-09-09 16:31) [18]

А 2-й незнаю как :-( .


 
Плохиш ©   (2005-09-09 16:38) [19]


> Angel[Saint]   (09.09.05 16:27) [17]

http://lib.profi.net.ua/doc/info_sites/visprog/books/Delphi%20Kindom/answer.asp-IDAnswer=5113.htm

там упоминается TBatchMove


 
Angel[Saint]   (2005-09-10 14:18) [20]

Спасибо за помощь. Вариант с "INSERT INTO ZZ IN "D:\Documents and Settings\stas\Мои документы\db11.mdb"" супер... жаль что раньше не знал о нем..


 
Соловьев ©   (2005-09-10 14:33) [21]

Да уж...
А о связке ADODataSet->TClientDataSet мы никогда не слышали?


 
AlexWlad ©   (2005-09-10 15:07) [22]

Плохиш ©   (09.09.05 16:38) [19]

там упоминается TBatchMove


Давайте не будем заниматься некрофилией (TBatchMove - BDE).


 
Savek   (2005-09-10 16:19) [23]

Есть быстрый способ для копирования таблиц:

Select * into Table1 from Table2 in "с:\...\база.mdb"

Создает новую таблицу Table1  в подключенной БД



Страницы: 1 вся ветка

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.082 c
3-1126270174
Alex Kryuchkov
2005-09-09 16:49
2005.10.23
[Microsoft][ODBC Driver Manager] Function sequence error


3-1126712886
terra0
2005-09-14 19:48
2005.10.23
ADO&amp;SQL запрос с параметром


2-1127807859
begin
2005-09-27 11:57
2005.10.23
Динамическая коллекция объектов


14-1128322503
syte_ser78
2005-10-03 10:55
2005.10.23
С чего начать написание клиента для phpbb форума?


4-1124603316
luka
2005-08-21 09:48
2005.10.23
как зменит иконку в чужом exe файле