Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.041 c
2-1127844684
Pasha L
2005-09-27 22:11
2005.10.23
Запуск одного ехе из другого


14-1127905228
Digitman
2005-09-28 15:00
2005.10.23
Делфи-компоненты для работы со структурированными хранилищами


8-1117423575
ksa3003
2005-05-30 07:26
2005.10.23
компанента pngimage143


1-1127964480
Sash
2005-09-29 07:28
2005.10.23
расшаренные папки


2-1127846953
vvh
2005-09-27 22:49
2005.10.23
Базы данных и Интернет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский