Главная страница
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.011 c
9-4697
Vitas2
2002-08-08 10:03
2003.02.03
OpenGL


3-4770
qwerty2
2003-01-15 13:43
2003.02.03
QReport: Количество записей в группе


1-4852
Oleon
2003-01-24 16:19
2003.02.03
Поиск компонентов конкретного класса на форме в RUNTIMEе...


4-5326
boa
2002-12-19 09:40
2003.02.03
Как узнать что указанный адрес доступен приложению.


8-5067
White1
2002-10-17 13:32
2003.02.03
Сохранить изображение как *.bmp файл