Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизКак переиндексировать таблицы Найти похожие ветки
← →
чайник1 (2004-02-16 12:09) [0]Уважаемые мастера, делаю восстановление файлов из архива, как мне переиндексировать таблицы.Спасибо.
← →
Anatoly Podgoretsky © (2004-02-16 12:11) [1]dbiRegenIndexes
← →
чайник1 (2004-02-16 12:13) [2]dbiRegenIndexes(Table1.Handle)???
← →
Anatoly Podgoretsky © (2004-02-16 12:20) [3]Лучше так Check(DbiRegenIndexes(Tbl.Handle));
← →
чайник1 (2004-02-16 12:23) [4]Check(DbiRegenIndexes(Tablel.Handle)); ругает, что Check не декларированная переменная, я включил в uses модуль DbiProcs, все равно ругает, в чем может быть дело?
← →
Anatoly Podgoretsky © (2004-02-16 12:24) [5]Check объявлена в Dbtables
← →
Семен Сорокин © (2004-02-16 12:27) [6]2чайник1
Это для парадокса, найди и исправь для Dbf.function ReindexBase(aDB: TDatabase): boolean;
var
_i : integer;
_list: tStrings;
begin
Result := true;
aDB.CloseDataSets;
_list := tStringList.Create;
try
Session.GetTableNames(aDB.DatabaseName, "*.db", false, false, _list);
for _i := 0 to _list.Count - 1 do
with TTable.Create(nil) do
try
DatabaseName := aDB.DatabaseName;
TableType := ttParadox;
Exclusive := true;
TableName := _list[_i];
try
Active := true;
Check(dbiRegenIndexes(Handle));
except
on E: Exception do begin
MessageDlg("Ошибка переиндексации:" + E.Message, mtError, [mbOk], 0);
Result := false
end
end
finally
Close;
Free
end
finally
_list.Free
end
end;
← →
чайник1 (2004-02-16 12:32) [7]спасибо, теперь при запуске ругает что не может открыть таблицу.
делаю так:
Table1.Exclusive := True;
Table1.Open;
Check(dbiRegenIndexes(Table1.Handle));
← →
Anatoly Podgoretsky © (2004-02-16 12:36) [8]В коде ошибки нет
← →
Danilka © (2004-02-16 12:39) [9][7] чайник1 (16.02.04 12:32)
значит таблица уже где-то открыта, например, в дельфях.
← →
чайник1 (2004-02-16 12:52) [10]да я уже закрываю все перед индексацией, также как при копировании, она все равно ругает.
← →
Danilka © (2004-02-16 13:03) [11]как конкретно ругается? говорит, не может открыть в эксклюзивном режиме? тогда значит не все закрываешь. может-быть эта таблица открыта другой программой. чудес на свете не бывает. а если и бывают, то справку как с ними бороться ты здесь не получишь. :))
← →
Danilka © (2004-02-16 13:07) [12]Наиболее частая ошибка начинающих в этом случае, это когда в дельфи у тебя есть форма, на этой форме лежит ТТабле на эту таблицу и у нее установлен active := true. То-есть, она открыта дельфями.
← →
чайник1 (2004-02-16 13:35) [13]да, так и есть, но я ведь закрываю, делаю Table1.close, а затем все остальное, и она выдает, что не может провести операцию открытия таблицы.
← →
Danilka © (2004-02-16 13:40) [14][13] чайник1 (16.02.04 13:35)
Ты это делаешь в своей программе. Table1.close не закрывает таблицы открытые другими программами. А у тебя она открыта именно другой программой - дельфями.
← →
Danilka © (2004-02-16 13:41) [15]почитай про Exclusive в хелпе, что это за зверь, тогда сразу все поймешь.
← →
Anatoly Podgoretsky © (2004-02-16 13:42) [16]Когда ты открываешь и закрываешь в программе, то ты работаешь не с той таблицей, а с другой. Просто представь себе сеть, когда ты закрываешь таблицу у себя, ведь ты не закрываешь ее в другой программе или у другого клиента. Или закрой Дельфи и попробуй выполнить программу, или закрой все таблицы во всех формах, они также независимы друг от друга.
И при ссылке на ошибку надо сообщать точное сообщение, а не то что у меня не открывается таблица.
← →
чайник1 (2004-02-16 14:00) [17]спасибо..
← →
чайник1 (2004-02-16 14:17) [18]я вывел эту операцию отдельно, теперь уже не ругается на открытие, а говорит Invalid language Driver...а потом что невозможно создать индекс..
← →
Anatoly Podgoretsky © (2004-02-16 14:36) [19]Тоже наверняка правда, раз ругается.
← →
ser_referi (2004-03-09 10:31) [20]2Anatoly Podgoretsky ©
а тут возникла другого рода ошибка ругается что
dbiRegenIndexes не декларированная переменная
← →
Anatoly Podgoretsky © (2004-03-09 10:37) [21]Правильно ругается, поскольку это не переменная, а функция
← →
ser_referi (2004-03-09 10:41) [22]не так просто написал пишет что Undeclared indentifier: "dbiRegenIndexes"
← →
Плохиш (2004-03-09 10:51) [23]
> ser_referi (09.03.04 10:41) [22]
> не так просто написал пишет что Undeclared indentifier:
> "dbiRegenIndexes"
Я одного не пойму, у тебя что кнопка F1 сломана? Тогда используй меню Help
← →
ser_referi (2004-03-09 11:08) [24]Да вроде не сломана и хелпом умею пользоваться но ничего не могу понять
← →
ser_referi (2004-03-09 11:10) [25]может нужен какой нибудь дополнительный компонент???
← →
ser_referi (2004-03-09 11:32) [26]нашел !!!!!!!!
← →
Anatoly Podgoretsky © (2004-03-09 11:39) [27]В справке указан нужный модуль, научись все таки пользоваться справкой, для начинающих вот полезная ссылка http://blackman.wp-club.net/forums/index.php?act=ST&f=3&t=282&s=852a2fcd19b3698e58ac92e770f2a564
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.031 c