![]() |
Datenbank: ADS Local • Version: 7.1 • Zugriff über: ADS Connection & DataSet
ADSTable.ADSCreateIndex falsch angewandt?
Hallo zusammen
Ich erzeuge zur Laufzeit für eine Tabelle mit Table.ADSCreateIndex einen neuen Index. Das Index-File *.ADI wird auch erzeugt. Öffne ich danach mit dem Advantage Data Architect die Tabelle, ist der eben erzeugte Index nicht im Index Management aufzufinden?! Der Index wird mit folgender Syntax erzeugt
Delphi-Quellcode:
Da das entsprechende ADI-File erzeugt wird, und auch keine Fehlermeldung bzw. Exception erzeugt wird, scheint das auch okay zu sein, warum wird aber der eigentliche Index nicht erzeugt?
Table.AdsCreateIndex('', '', 'RecNo', '.NOT. DELETED()', '', [optCOMPOUND]);
mfg, trocki |
Re: ADSTable.ADSCreateIndex falsch angewandt?
Zitat:
Zudem sollte man keine AdsXXXX-Funktionen im TDataset direkt verwenden, da damit der komplette Mechanismus des TDataset umgangen wird (und der Index eventuell gar nicht in der Index-Liste der Komponente erscheint). Besser gleich die TDataset Methode verwenden:
Delphi-Quellcode:
Aber abgesehen davon: Welchen Sinn macht denn ein index mit der Kondition 'not deleted', wenn im ADT-Format die gelöschten Records sowieso nicht in den Index kommen? Die Kondition verhindert, dass der Index für Optimierungen herangezogen wird.
AdsTable.AddIndex('Recno','RecNo',[]);
|
Re: ADSTable.ADSCreateIndex falsch angewandt?
Zitat:
Zitat:
mfg, trocki |
Re: ADSTable.ADSCreateIndex falsch angewandt?
Zitat:
1) Du hast ein Data Dictionary, Dein User aber keine Rechte zur Erstellung des Index (dann ist es ein Temp-Index, welcher bei Connection Abbau gelöscht wird) 2) Dein Architect ist buggy (wobei mir hier keine Probleme bekannt sind) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz