Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: CL | DM;

Вниз

Восстановить первичный ключ в таблице Paradox   Найти похожие ветки 

 
ksu ©   (2003-01-16 06:44) [0]

Подскажите как Восстановить первичный ключ в таблице Paradox в ходе выполнения программы
есть массив с описанием таблиц( имя индекса, опции индекса, ключевые поля)

type bdindex=record
name :string;
field :string;
option :TIndexOptions;
end;
type bdrecord=record
table :TTable;
count :integer;
index :array [0 .. 4] of bdindex;
end;

var bd :array of bdrecord;

... фрагмент кода восстановления индекса вызывается при обработке ошибки Index out of date

bd[i].table.IndexFieldNames:="";
bd[i].table.IndexDefs.Clear;
bd[i].table.disableControls;
bd[i].table.close;
bd[i].table.Exclusive:=true;
bd[i].table.open;
for j:=0 to bd[i].count-1 do //кол-во индексов
bd[i].table.AddIndex(bd[i].index[j].name,bd[i].index[j].field,bd[i].index[j].option);
bd[i].table.IndexDefs.Update;

При восстановлении вторичных ключей все нормально, первичный ключ выдает сообщение Index out of date в операторе bd[i].table.open;

Подскажите как убрать описание первичного ключа или открыть без первичного ключв таблицу


 
AlexLI   (2003-01-16 11:51) [1]

var NewIndex: IDXDesc; // bde.pas
При закрытой таблице.
ClearDirectory(GetAliasPath(bd[i].table.DatabaseName),
bd[i].table.TableName+".px");
ClearDirectory(GetAliasPath(bd[i].table.DatabaseName),
bd[i].table.TableName+".x*");
ClearDirectory(GetAliasPath(TablU.DatabaseName),
TablU.TableName+".y*");
Далее
Check(DbiAddIndex(bd[i].table.dbhandle, bd[i].table.handle, PChar(TablU.TableName),szParadox, NewIndex, nil));


 
AlexLI   (2003-01-16 11:53) [2]

var NewIndex: IDXDesc; // bde.pas
При закрытой таблице.
ClearDirectory(GetAliasPath(bd[i].table.DatabaseName),
bd[i].table.TableName+".px");
ClearDirectory(GetAliasPath(bd[i].table.DatabaseName),
bd[i].table.TableName+".x*");
ClearDirectory(GetAliasPath(bd[i].table.DatabaseName),
bd[i].table.TableName+".y*");
Далее
Check(DbiAddIndex(bd[i].table.dbhandle, bd[i].table.handle, PChar(bd[i].table.TableName),szParadox, NewIndex, nil));



Страницы: 1 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-5001
Valeris
2003-01-23 16:42
2003.02.03
Функция замены одного символа на другой


4-5354
dmibar
2002-12-21 23:09
2003.02.03
не удается открыть файл


8-5085
som
2002-10-21 11:19
2003.02.03
.jpg в TBitmap


1-4842
NewGuest
2003-01-23 20:33
2003.02.03
Возникает


3-4769
nv-vetal
2003-01-16 13:30
2003.02.03
Запрос WHERE и дата. Пишу типа WHERE Date =