AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ClientDataSet - wie kann man Indizes verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

ClientDataSet - wie kann man Indizes verwenden?

Ein Thema von globetrotter77 · begonnen am 29. Jan 2009 · letzter Beitrag vom 4. Feb 2009
Antwort Antwort
Seite 2 von 10     12 34     Letzte »    
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:17
@Thomas F:

tja, genau da liegt das Problem!
Interbase bzw. Firebird ist eigentlich sehr wohl für große Datenmengen geeignet, aber offenbar nicht in dieser Kombination.

Trotzdem danke für deine Hilfe!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:19
Das hat aber nichts mit dem DBMS zu tun, sondern mit der TClienDataSet-Komponente
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:19
Deine Tabellen haben aber auch Schlüssel?
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#14

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:31
@mkinzler:
das sehe ich auch so ... TClientDataSet stellt scheinbar einfach nichts dergleichen zur Verfügung, oder ich habe es noch nicht herausgefunden, wo es versteckt liegt.
Merkwürdig aber trotzdem der Hinweis mit den persistenten Indizes ... grummel

Gibt es evtl. eine andere dataset-artige Komponente, mit der man das bewerkstelligen kann?

Mein Problem ist einfach, dass ich weg will von der BDE, die nichts als Probleme bereitet und ja auch hoffnungslos veraltet ist.

Firebird als DB scheint mir durchaus geeignet zu sein, aber wenn die Vorteile der Datenbank nicht genutzt werden können, ist es ja fast schon egal, welche DB ich verwende.
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:33
@omata:

Mit Indizes meine ich eigentlich Schlüssel, klar habe ich die!
Besser gesagt: ich will sie haben, aber es geht nicht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:36
Vielleicht eine andere Komponente
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 21:36
Das verstehe ich jetzt nicht. Schlüssel oder Indizes was denn nun?

Ich verwendet Firebird locker mit >1000000 pro Tabelle und das ist richtig schnell. Ich verstehe deine Probleme nicht, was machst du da?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 22:09
@omata: Er greuft ja nicht direkt, sondern über ein ClientDataSet zu
Markus Kinzler
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#19

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 22:20
@omata:

sehr gut, dann weißt du ja, was richtige Datenmengen sind.

also:
ich habe eine SQLConnection für die Firebird-DB und ein SQLDataSet für eine der Tabellen aus der DB.
Dann einen DataSetProvider, der mit dem TSQLDataSet verbunden ist, und ein ClientDataSet, das auf den DataSetProvider zugreift.

Die DB habe ich mit ISQL erstellt (inkl. Index-Definitionen), die Daten wurden mit einem anderen Programm aus einer anderen Datenbank importiert.

Und jetzt will ich gerne mit meinem Programm einigermaßen elegant mit den Daten umgehen.
Das heißt aber auch, dass ich ab und zu die Daten in einer anderen Sortierung haben will.
Hierzu klicke ich in einem DBGrid einfach auf die Titelleiste und stelle den Index im OnTitleClick-Event um.

Das geht auch einigermaßen flott, weil ich die verschiedenen Index-Definitionen per Hand zur Entwurfszeit eingetragen habe, aber eben immer erst ab der zweiten Verwendung.
Nach jedem Programmstart muss er die Indizes offenbar nochmal neu aufbauen, was natürlich Zeit kostet.
Standardmäßig scheint er nur den aktuell eingestellten Index aufzubauen, aber sobald ich einen anderen haben will, braucht er wieder so lange, bis es flutscht.
Ist ein Index erst einmal aufgebaut, geht es wirklich sehr schnell, keine Frage, aber wieso schmeißt Delphi alles wieder weg beim Programmende?
Und wieso sind die beim CREATE-DATABASE-Durchlauf nicht schon vorhanden und greifbar?

Das verstehe ich nicht, gebe ich zu!

Oder mache ich einfach irgendetwas völlig falsch?

IndexDefs.Update hilft da übrigens auch nicht weiter
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#20

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 29. Jan 2009, 22:21
@mkinzler:

wie kann ich denn direkt zugreifen??
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 10     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz