![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ClientDataSet и Paradox [D6, D7]
Max_9999 © (2003-02-18 14:26:00)Можно ли содержимое ClientDataSet превратить (экспортировать) в фаил Paradox"a (*.db)?
ClientDataSet1.SavetoFile("c:\my.db");- создаёт ошибочный фаил!
Карелин Артем (2003-02-19 09:54:00) [1]Типа того:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
IBTable1.Active:=false;
//Набор данных должен быть закрыт
IBTransaction1.Active:=true;
if IBTable1.Exists then IBTable1.DeleteTable;
IBTable1.FieldDefs.Assign(Dbf1.FieldDefs);
//Если надо копировать индексы, делаем то же самое с IndexDefs.
//Перед созданием таблицы имя и база данных должны быть назначены.
IBTable1.CreateTable;
IBTransaction1.Commit;
IBTable1.Open;
//Копируем данные
ProgressBar1.Max:=Dbf1.ExactRecordCount;
Dbf1.First;
while not(Dbf1.Eof) do
begin
IBTable1.Append;
for i:=0 to Dbf1.Fields.Count-1 do
begin
IBTable1.Fields[i].Value:=Dbf1.Fields[i].Value;
end;
ProgressBar1.Position:=Dbf1.PhysicalRecNo;
Application.ProcessMessages;
IBTable1.Post;
Dbf1.Next;
end;
IBTable1.Close;
IBTransaction1.Active:=false;
ProgressBar1.Position:=0;
end;
Только чуть измени код. Что менять? догадайся.
Mike_Goblin (2003-02-18 15:20:00) [2]Нужный код - это
1. Создание пустой таблицы Paradox (если ее еще нет) с заданной структурой
2. Копирование записей из ClientDataSet в созданную таблицу.
PS пожалуйста, не спрашивайте кем задается структура файла Paradox :)))
Max_9999 (2003-02-18 14:47:00) [3]А какой это "нужный код"?
Mike_Goblin (2003-02-18 14:29:00) [4]Автоматически нет
Если написать нужный код - то можно
PS SaveToFile сохраняет в 2-х форматах cds и xml, большего он не умеет, да и не нужно ему это
Карелин Артем (2003-02-18 14:28:00) [5]Ну ты блин ваще. А в оракл не пробовал сохранить?