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

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

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. ...]


Наверх

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