![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программное восстановление MDX файла для DBF [D3, dBase, FoxPro]
Антон СПб ПП © (2002-07-23 10:11:00)После того, как я восстанавливаю прораммно файл MDX содержащий в себе 3 составных индекса 2 из них уникальные появляется ошибка key vialotion, после подтверждения индексов в DataBase desktop все работает нормально.
Сравнивал структуры индексов полностью индентичны.
Что делает Dbd и что не делаю я, после или при восстановлении индексов.
Спасибо.
Антон СПб ПП (2002-07-23 11:20:00) [1]Индекс делаю так:
var
NewIndex: IDXDesc;
Begin
tbl.Open;
NewIndex.szTagName := "DN";
NewIndex.bPrimary := False;
NewIndex.bUnique := TRUE;
NewIndex.bDescending := False;
NewIndex.bMaintained := True;
NewIndex.bSubset := False;
NewIndex.bExpIdx := True;
NewIndex.iFldsInKey := 0;
NewIndex.aiKeyFld[0] := 0;
NewIndex.szKeyExp :="STR(NNAKL)+STR(KOD_OTPR)+DTOC(DATE_ON)";
NewIndex.szKeyCond := "";
NewIndex.bCaseInsensitive := False;
NewIndex.iBlockSize := 0;
Check(DbiAddIndex(Tbl.dbhandle, Tbl.handle, nil,
szDBASE, NewIndex, nil));
А как вы создали такой индекс?
sniknik (2002-07-23 10:21:00) [2]проверь сам dbf файл, 28 байт (считая с нуля) отвечает за "индексированость" таблици (0 нет, 1 индексир.). не знаю как ты делаеш индексы но возможно твои методы не устанавливают этот признак.