Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Я с помощью sql запроса делаю выборку из 2,3, ... n таблиц в DBGr [D5, dBase, FoxPro, Paradox]


Ээх ©   (2002-10-24 22:37:00) 

Добрый вечер. Я с помощью sql запроса делаю выборку из 2,3, ... n таблиц в DBGrid, мне нужно или сохранить эту выборку во временный файл или присвоить этой выборке один общий алиас (типа как в фоксе задается в sql запросе select через TO или INTO). Читал , что при sql запросе формируется tmp-файл, может можно его использовать, если да, то как это сделать?


Ээх   (2002-10-27 11:54:00) [1]

Спасибо Всем, воспользовался TBatchMovie.


MsGuns   (2002-10-25 14:00:00) [2]

>REP (25.10.02 12:21)

Круто !! Через пакетную пересылку (VAleksey © (25.10.02 06:39)
на порядок проще ! И хелп вполне хороший


REP   (2002-10-25 12:21:00) [3]

Сохраняет любой запрос (QRep) в произвольную таблицу с именем NameTable в папку Dir (если не указана - то в QRep.DatabaseName)

Procedure CopyTable(NameTable:String;QRep:TQuery;Dir:String="");
Var
jTable:TTable;
i:Integer;
begin
jTable:=TTable.Create(Nil);

If Length(Dir)=0 Then
jTable.DatabaseName:=qRep.DatabaseName
else
jTable.DatabaseName:=Dir;

With jTable do begin
Active:=False;
FieldDefs.Clear;
TableName:=NameTable;
end;

For i:=0 To qRep.FieldDefs.Count-1 do begin
jTable.FieldDefs.Add(qRep.FieldDefs[i].Name,
qRep.FieldDefs[i].DataType,
qRep.FieldDefs[i].Size,
qRep.FieldDefs[i].Required);
end;
jTable.CreateTable;
jTable.BatchMove(qRep,batAppend);
jTable.Free;
end;

Если я правильно понял


Виталий Панасенко   (2002-10-25 09:02:00) [4]

В догонку: а еще лучше, использовать RxLib, там есть таблицы в памяти. Результат тот же - и никаких временных таблиц на диске.


Виталий Панасенко   (2002-10-25 08:57:00) [5]

Вообще-то Вы делаете выборку не DBGrid, а, я так думаю, в TQuery, который связан с TDataSource, который, в свою очередь, связан с DBGrid. Так нужно заиметь еще один компонент TTable, например, и сделать что-то типа:
Table1.CreateTable;
Query1.First;
while not Query1.Eof do
begin
Table1.Append;
Table1.FieldByName("Field1").Value := Query1.FieldByName("Field1").Value;
....
....
Table1.Post;
Query1.Next;
end;//-Query1


VAleksey   (2002-10-25 06:39:00) [6]

TBatchMovie тебе в помощь(наверное)


[NIKEL]   (2002-10-24 23:28:00) [7]

наверно надо сохранить dataset?
используй TClientDataSet и сохраняй его в файл, потом сможешь подгрузить его если надо


Наверх

Титульная страница Поиск, карта сайта Написать письмо