|
<< Click to Display Table of Contents >> Delphi Examples: DbiDeleteIndex |
![]() ![]()
|
Delete the specified index.
Delphi users should normally call TTable.DeleteIndex rather directly calling dbiDeleteIndex. The method TTable.DeleteIndex is defined as:
procedure DeleteIndex(const Name: string);
The following example removes an alias called "ByCompany" from TTable Table1:
Table1.DeleteIndex('ByCompany');
Delete the active index on a table.
Most Delphi users should use Table.DeleteIndex. This example uses the following input:
fDbiDeleteIndex(CustTemp, False);
The procedure is defined as:
procedure fDbiDeleteIndex(Table: TTable; Tag: Boolean);
var
ActiveIdx: IDXDesc;
begin
if not Table.Exclusive then
raise EDatabaseError.Create('Table must be opened exclusively to delete index');
Check(DbiGetIndexDesc(Table.Handle, 0, ActiveIdx));
// Cannot delete the active index, so change to default
Table.IndexName := '';
Table.IndexFieldNames := '';
Check(DbiDeleteIndex(Table.DBHandle, Table.Handle, nil, nil, ActiveIdx.szName,
ActiveIdx.szTagName, 0));
end;