![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
select из одной базы в другую [D6, dBase, FoxPro]
Roka © (2003-04-01 23:06:00)Как осуществить такую штуку? Тоесть селектом отбираем данные из одной таблицы, а результат надо записать в другую. В Фоксе это выглядело как select * from table1 into table2.
Вроде как надо бы через Tquery делать, но что-то у меня into непроходит. :(
ЮЮ (2003-04-04 02:32:00) [1]>но и из Парадокса в Парадокс невыходит
странно. а автоинкрементных полей в принимающей таблице нет. Если есть, то их стоит исключить из запроса
Roka (2003-04-03 22:34:00) [2]Хочется конечно из Парадокса в Фокс отселектить, но и из Парадокса в Парадокс невыходит и из Фокса в Фокс, попробую все ваши советы. СПС!
Карелин Артем (2003-04-03 08:05:00) [3]Вот копирование таблицы из одного формата в другой. Для твоих целей надо просто чуть обрезать код.
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
Table1.Active:=false;
//Набор данных должен быть закрыт
if Table1.Exists then Table1.DeleteTable;
Table1.FieldDefs.Assign(Dbf1.FieldDefs);
//Если надо копировать индексы, делаем то же самое с IndexDefs.
//Перед созданием таблицы имя и база данных должны быть назначены.
Table1.CreateTable;
Table1.Open;
//Копируем данные
ProgressBar1.Max:=Dbf1.ExactRecordCount;
Dbf1.First;
while not(Dbf1.Eof) do
begin
Table1.Append;
for i:=0 to Dbf1.Fields.Count-1 do
begin
Table1.Fields[i].Value:=Dbf1.Fields[i].Value;
end;
ProgressBar1.Position:=Dbf1.PhysicalRecNo;
Application.ProcessMessages;
Table1.Post;
Dbf1.Next;
end;
Table1.Close;
ProgressBar1.Position:=0;
end;
ЮЮ (2003-04-03 03:04:00) [4]insert into ":dbfalias:foxbasa.dbf"
select * from ":paradoxalias:baza.db"
777 (2003-04-03 01:58:00) [5]insert into "c:\base\foxbasa.dbf "
select * from "c:\paradoxbase\baza.db "
Basic (2003-04-03 00:52:00) [6]что-то на несоответствие типов ругается,
кстати у тебя baza - db или dbf, вроде про парадокс не указывал
Roka (2003-04-02 22:51:00) [7]Пробую делать так:
Query1.SQL.Add("Insert into foxbaza.dbf select * from baza.db ");
Вываливается ошибка при выполнении Query:
Project zzzzz.exe raised exception class EDBEngineError with message
"Type mismatch in expression".
Что я делаю не так?
И как быть если базы находятся не в текущем каталоге?
Roka (2003-04-02 13:05:00) [8]а у меня через TQuery что-то так некатит :(
На что ругается позже напишу.
ЮЮ (2003-04-02 03:03:00) [9]Insert into table2 select * from table1 [where table1. ...]
Insert into table2(a,b,c) select d,e,f from table1 [where table1. ...]