Форум: "Базы";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
ВнизСохранение результа запроса Найти похожие ветки
← →
Шурик Ш (2003-02-19 18:59) [0]Порою бывает необходимо сохранить результат, полученный запросом, в таблицу (например, DBF). А нельзя ли это сделать без утомительного застирывания? Т.е. без предварительного создания таблицы "вручную" (прописывания типов и размерности полей, их названий и т.д.)
← →
Val (2003-02-19 19:14) [1]можно, но не для всех субд, точно не для дбф.
← →
Anatoly Podgoretsky (2003-02-19 19:24) [2]Давай конкретности
← →
Шурик Ш (2003-02-19 19:45) [3]Запрос через BDE к SQL 7.0, сохранение запроса в ДБФ.
← →
MsGuns (2003-02-19 21:01) [4]TBatchMove
← →
Anatoly Podgoretsky (2003-02-19 21:24) [5]dbiMakePermanent
← →
Карелин Артем (2003-02-20 14:23) [6]Народ, вы о чем??
Так можно перебрасывать таблицы куда угодно, лишь бы это набором данных было:
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;
← →
iHollywood (2003-02-20 21:11) [7]Все это хорошо для приложений использующих BDE. С ADO дела обстоят намного хуже. Невозможно создать таблицу без SQL запроса CREATE TABLE
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c