Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизВосстановить первичный ключ в таблице 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c