![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, как в runtime создать индекс для таблицы paradox? [D5, Paradox]
novill © (2003-05-21 15:46:00)
Verg (2003-05-21 21:29:00) [1]
with UpGSql.SQL do
begin
Clear;
Add("Create index "+IndexName+" on "+TabName+" ("+FieldNames+")");
end;
UpGSql.ExecSQL;
Stas (2003-05-21 16:32:00) [2]Индекс создать можно. В Helpe BDE32.hlp есть пример.
Вот он:
rocedure fDbiAddIndex3(Tbl: TTable);
var
NewIndex: IDXDesc;
begin
if not Tbl.Exclusive then
raise EDatabaseError.Create
("TTable.Exclusive must be set to true in order to " +
"add an index to the table");
with NewIndex do begin
szName := "NewIndex";
iIndexId := 0;
bPrimary := False;
bUnique := TRUE;
bDescending := True;
bMaintained := True;
bSubset := False;
bExpIdx := False;
iFldsInKey := 1;
aiKeyFld[0]:= 2;
bCaseInsensitive := True;
end;
Check(DbiAddIndex(Tbl.dbhandle, Tbl.handle, PChar(Tbl.TableName), szParadox, NewIndex, nil));
end;
Подробнее смотри в BDE32.hlp
Max Zyuzin (2003-05-21 16:16:00) [3]Индексы - это весчь которую надо продумывать и создовать на этапе планирования, а ни как не в рантайме... ИМХО.