AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TDataSet per SELECT Filtern
Thema durchsuchen
Ansicht
Themen-Optionen

TDataSet per SELECT Filtern

Ein Thema von Gruber_Hans_12345 · begonnen am 20. Mär 2013 · letzter Beitrag vom 20. Mär 2013
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 00:09
Datenbank: Keine • Version: - • Zugriff über: -
Hallo

Ich habe hier eine TDataSet die ich per Code befülle
Gibt es eine Möglichkeit diese nun per (so halbwegs) standard SQL WHERE zu filtern
bzw auch zu sortieren/Felder selktieren?

Also so, das ich die Filter und co genau so verwenden kann wie die von Firebird?

Wenn man dann noch einen JOIN in eine echte Firebird DB machen kann wärs das.

Aber das wichtigeste wäre mir der WHERE Part, das ich den 1:1 anwenden kann
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 00:13
Das Filtern in einem Delphi-Referenz durchsuchenTDataSet ist nur rudimentär. Delphi-Referenz durchsuchenTDataSet.Filter

Joinen geht gar nicht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 06:58
Um was für ein DataSet handelt es sich? GGf könntest du dann ja FB embedded verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
HeZa

Registriert seit: 4. Nov 2004
Ort: Dortmund
182 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 08:15
Du hast keine Aussage über die Datenmenge gemacht oder darüber wie lange das befüllen des Datasets dauert und wie oft diese Daten dann abgefragt werden.

Desweiteren, wenn ich das richtig heraus gelesen habe, hast du eine Firebird-Datenbank im Zugriff zu der du auch gerne joinen würdest.

Daher könnte es auch eine Lösung sein die Daten des TDataSet einfach in einer temporäre Tabelle (CREATE TEMPORARY TABLE ist dein Freund) der Datenbank zu importieren, dann hast du alle Möglichkeiten die du brauchst und mehr.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
670 Beiträge
 
#5

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 11:05
TxQuery
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#6

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 11:06
Es handelt sich um eine MemoryDataSet

Das ganze wird aus einer Firebird Datenbank befüllt und dann aber noch gemappt, sprich die Spalten werden dynamisch erzeugt.

Es werden dann so 10.000-100.000 Datensätzen reinkommen, mit 30-100 Spalten von den Spalten sind 10-15 fix die restlichen werden dann dynamisch aufgebaut
Von der Firebird DB kommen so 1.000.000 Datensätze die eben dann in 100.000 Datensätze umgemappt werden.

Eine temporäre Tabelle möchte ich eher vermeiden, da ich dann jedes mal dieses Tabelle anlegen, befüllen und wieder löschen muss ... ist viel aufwand und traffic

FB Embeeded? Kann ich da eine fremde Dataset in den SQL Parser schicken?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 12:16
Also ich würde das, was Du mit den Daten machst, über eine entsprechende Query von FB ausführen lassen.

Wenn es sich allerdings um eine Art Pivot handelt, wo also erst durch den Inhalt der Tabellenaufbau definiert wird, dann ist das schon richtig, wie Du das machst.

Für professionelle Filtermöglichkeiten bieten sich die vielen kommerziellen GridControls an (z.B. DevExpress). Reicht dein Budget nicht, dann musst Du dir wohl oder übel selbst etwas ausdenken. Ich würde das OnFilterRecord-Event nehmen und dort die Filterlogik implementieren.

DevExpress filtert aber im Grid selbst, was viel schneller ist. Hier existiert auch ein Pivot-Grid, das deinen Anforderungen vermutlich genügen wird. Großartig programmieren musst Du dann nicht mehr.

Allerdings frage ich mich, was der Anwender mit 100.000 Datensätzen anstellen will, oder ist das erst die Datenmenge, mit der Du filtern/gruppieren bzw. arbeiten willst?
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#8

AW: TDataSet per SELECT Filtern

  Alt 20. Mär 2013, 12:41
Also diese Komponente sieht schon mal sehr sehr gut aus

Danke!
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:04 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