Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать копию db таблицы? 
:(
    Опции темы
serjufa
Дата 14.5.2003, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 28.3.2003

Репутация: нет
Всего: 1



Как создать копию таблицы?
У меня имеется db таблица. Мне нужно
1. сделать копию этой таблицы со всеми данными
2. сделать пустую копию этой таблицы (без данных).

Буду благодарен за примеры. leyftd@mail
PM MAIL   Вверх
pigas
Дата 15.5.2003, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 29.4.2003

Репутация: нет
Всего: нет



создать новую таблицу .
посмотреть какие поля в старой и добавить их в новую .
перегнать все записи в новую .

проблема будет только угадать по каким полям создать первичный индекс чтоб неболо записей с одинаковыми ключ полями

я пошлю тебе исходники
PM MAIL   Вверх
Master
Дата 15.5.2003, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



А не проще ли воспользоваться "BACKUP TABLE имя [, имя] TO каталог"?

А потом можно и опустошить скопированную таблицу "TRUNCATE TABLE таблица", если таблицу очищать полностью, то эта инструкция работает гораздо быстрее "DELETE", но она может только полностью очистить таблицу.

Это сообщение отредактировал(а) Master - 15.5.2003, 10:03


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Vit
Дата 15.5.2003, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



А каким языком программирования это нужно сделать?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 15.5.2003, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Если таблица без индексов, то можно просто скопировать файл smile.gif
PM MAIL WWW ICQ   Вверх
Medved
Дата 27.5.2003, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



раз *.DB - значит Paradox. А раз Paradox - это либо Delphi, либо BDB.

Используй компонент TBatchMove. С ним очень просто работать.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Akella
Дата 9.6.2003, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



С помощью компонента TTable создай новую таблицу на примере старой, а текже создай поля. Вот приблизительный пример, у меня все работает:

procedure TfmMain.NewDB(Sender: TObject);
var
vNewDBPath: String;
begin
//выбираем каталог для хранения файлов БД
if SelectDirectory('ВЫБЕРИТЕ КАТАЛОГ ДЛЯ ХРАНЕНИЯ'+#13+
'НОВОЙ БАЗЫ ДАННЫХ','', vNewDBPath) then
with DM do Begin
//DM- имя модуля данных
//создание таблицы "диски"
//tCrTab - имя новой таблицы
//tOpis - таблица-источник, подключена к физической таблице
// с помощью компонента TDataBase
tCrTab.DatabaseName:=vNewDBPath;
tCrTab.TableName:='NewTable.DB';//физическое имя таблицы
tCrTab.TableType:=tOpis.TableType;//nbg nf,kbws
tCrTab.FieldDefs.Assign(tOpis.FieldDefs);//названия и типы полей
tCrTab.IndexDefs.Assign(tOpis.IndexDefs);//названия и типы индексов
tCrTab.CreateTable;//процедура создания таблицы
end;// with
end;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.