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

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

Подскажите по переиндексации в Paradox. [D5, Paradox]


antoniz ©   (2002-12-04 09:38:00) 

Подскажите по переиндексации в Paradox. Нужно удалить первичный индекс, а затем создать его заново. Например есть таблица T у нее 2 поля Id - первичный ключ, Tmp - просто строковое. Так вот нужно убрать у этой таблицы, что первичным ключом явялется поле Id, а затем создать первичный ключ по этому полю. Как это можно сделать средствами языка SQL? Заранее спасибо


VAleksey   (2002-12-09 08:00:00) [1]

Удали файл первичного индекса с диска -> сколько угодно новых индексов создавай ( и каких угодно :) )


vmz   (2002-12-09 01:38:00) [2]

Когда же люди читать научатся ?
Для чего HELPы делаются ?
Чудны дела твои, господи !


LSW   (2002-12-07 14:30:00) [3]

На SQL делай так:
Создание

with Query1 do
begin
Close;
SQL.Clear;
SQL.Add("CREATE INDEX MyIndex ON T(ID)");
ExecSQL;
end;

Удаление

with Query1 do
begin
Close;
SQL.Clear;
SQL.Add("DROP INDEX T.MyIndex");
ExecSQL;
end;


mama   (2002-12-07 07:27:00) [4]

Если средствами Delphi, то
Table1.DeleteIndex(_имя_индекса_);

В Paradox имя первичного индекса - пустая строка.
Но бывает файл на диске остается, его тоже надо удалить
if FileExists(i+"Tovar.PX") then
DeleteFile(i+"Tovar.PX");

Тут i путь...
А затем уж и
Table1.AddIndex("", "Tovar_id", [ixPrimary]);

Но не забудь открыть таблицу в Exclusive mode


Наверх

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