![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Я с помощью 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 и сохраняй его в файл, потом сможешь подгрузить его если надо