Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Как переиндексировать таблицы   Найти похожие ветки 

 
чайник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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.052 c
14-1078675942
Натуся
2004-03-07 19:12
2004.04.04
Проблемы с Linux


9-1064520950
Sacred
2003-09-26 00:15
2004.04.04
Camera в GlScene и ее проекции....


3-1078435785
Dimedrol
2004-03-05 00:29
2004.04.04
Full-text search


3-1078232067
Rule
2004-03-02 15:54
2004.04.04
Как сделать автоинкремент а TClientDataset ?


4-1075220914
BSG
2004-01-27 19:28
2004.04.04
ListView в чужой программе.