Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-5039
NN_Nikita
2003-01-23 19:09
2003.02.03
Печать в MS Word


1-5020
Axis_of_Evil
2003-01-23 12:09
2003.02.03
Игры


1-4972
Zloy
2003-01-27 02:26
2003.02.03
не подскажите как в StringGrid программно задать размер м/у ячейк


7-5299
vagrant2001
2002-11-24 19:37
2003.02.03
чтение диска А


4-5359
try33
2002-12-19 00:59
2003.02.03
без таймера




   Наверх