Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery oder TTable? (https://www.delphipraxis.net/105602-tquery-oder-ttable.html)

Svenkan 25. Dez 2007 19:10

Datenbank: dBase • Zugriff über: BDE

TQuery oder TTable?
 
Guten Abend!
Ich stehe gerade vor einer Frage: was ist besser, Query oder Table? Oder ist beides gleich gut?
Wo liegen die Vorteile, wo die Nachteile?
Worauf setzt ihr lieber oder wovon ratet ihr direkt ab?

Liebe Grüße und frohe Weihnachten

Larsi 25. Dez 2007 20:56

Re: TQuery oder TTable?
 
ist query nicht sql und ttable datenbank die nicht so speziell ist?

DeddyH 25. Dez 2007 21:00

Re: TQuery oder TTable?
 
TTable stellt eine Tabelle dar, TQuery eine Abfrage, die sich auch über mehrere Tabellen erstrecken kann. Ich persönlich verwende nur Queries, da ich meist mit dem Inhalt einer einzelnen Tabelle nichts Sinnvolles anfangen kann. Wo man damit auskommt, ist aber gegen die Verwendung einer TTable nichts einzuwenden.

mschaefer 25. Dez 2007 21:09

Re: TQuery oder TTable?
 
Wie oben schon angemerkt braucht man TTable eigentlich nicht wirklich. Das stammt eigentlich mehr aus den Ascii-Datenbank Zeiten wo man damit einfach schnell auf ein Datenfile zugreifen konnte. Bei den modernen Datenbanken mit SQL-Interpreter ist TQuery die Wahl. Grüße // Martin



PS: Um eine Datenverbindung zu Testen, da geht TTable schon gut.

Bernhard Geyer 25. Dez 2007 21:16

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
Oder ist beides gleich gut?

Weder noch!
Zitat:

Zitat von Svenkan
Worauf setzt ihr lieber oder wovon ratet ihr direkt ab?

Eigentlich kann man nur raten dBase und BDE zu entsorgen und sich alternative (Desktop-)DB's anzuschauen. BDE ist schon seit Jahren abgekündigt undverursacht auf neuen Windows-Versionen eigentlich nur Probleme.

Svenkan 25. Dez 2007 21:18

Re: TQuery oder TTable?
 
Ich selbst hab aber keine Möglichkeit umzusteigen :p

mkinzler 25. Dez 2007 21:23

Re: TQuery oder TTable?
 
Bei der BDE basieren Queries auf Tables sonst basieren Tables on Queries(
SQL-Code:
Select * from <Tabellenname>;
)

Bernhard Geyer 25. Dez 2007 21:49

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
Ich selbst hab aber keine Möglichkeit umzusteigen :p

Erkläre uns das genauer. M. E. spricht nur ein baldiges Entwicklung/Support-Ende einer SW dafür nicht die BDE zu ersetzen.

Svenkan 25. Dez 2007 21:52

Re: TQuery oder TTable?
 
Ich kann nicht umsteigen, weil meine 'Wirtssoftware' eben auch auf diese aufbaut.
Ich entwickle ein Exportmodul für die Daten der anderen Software. ;)

mschaefer 25. Dez 2007 22:12

Re: TQuery oder TTable?
 
Welches Datenbanksystem liegt unter dem "Wirt" ?

PS : Paradox, DBase?
PPS: zufällig eine Clipperanwendung?

Svenkan 25. Dez 2007 22:15

Re: TQuery oder TTable?
 
dBase
Was meinst du mit einer Clipperanwendung?

Bernhard Geyer 25. Dez 2007 22:16

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
Ich kann nicht umsteigen, weil meine 'Wirtssoftware' eben auch auf diese aufbaut.
Ich entwickle ein Exportmodul für die Daten der anderen Software. ;)

Genehigt :mrgreen:

Svenkan 25. Dez 2007 22:19

Re: TQuery oder TTable?
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Svenkan
Ich kann nicht umsteigen, weil meine 'Wirtssoftware' eben auch auf diese aufbaut.
Ich entwickle ein Exportmodul für die Daten der anderen Software. ;)

Genehigt :mrgreen:

Wenn du 'genehmigt' meinst und es eine Frage sein soll: Ja ^^
Du kannst gerne mal bei Herrn Kallage nachfragen :D

Jürgen Thomas 26. Dez 2007 11:40

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Svenkan
Ich kann nicht umsteigen, weil meine 'Wirtssoftware' eben auch auf diese aufbaut.
Ich entwickle ein Exportmodul für die Daten der anderen Software. ;)

Genehigt :mrgreen:

Wenn du 'genehmigt' meinst und es eine Frage sein soll: Ja

Ich verstehe es so: Bernhard genehmigt Dir, dass Du auf die BDE (noch) nicht verzichtest. :mrgreen: Jürgen

Bernhard Geyer 26. Dez 2007 21:10

Re: TQuery oder TTable?
 
Zitat:

Zitat von Jürgen Thomas
Ich verstehe es so: Bernhard genehmigt Dir, dass Du auf die BDE (noch) nicht verzichtest. :mrgreen: Jürgen

Genau. Normalerweise ist BDE-Programmierung in 2007 nicht mehr zu entschuldigen will man nicht vorsätzlich in Probleme rauschen. Aber wenn es anderes Apps sind die sowas machen kann man da schlecht einfluß nehmen. Ich hoffe nur das für deine Programme kein BDE im Einsatz ist.

Svenkan 27. Dez 2007 02:13

Re: TQuery oder TTable?
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Jürgen Thomas
Ich verstehe es so: Bernhard genehmigt Dir, dass Du auf die BDE (noch) nicht verzichtest. :mrgreen: Jürgen

Genau. Normalerweise ist BDE-Programmierung in 2007 nicht mehr zu entschuldigen will man nicht vorsätzlich in Probleme rauschen. Aber wenn es anderes Apps sind die sowas machen kann man da schlecht einfluß nehmen. Ich hoffe nur das für deine Programme kein BDE im Einsatz ist.

Aso^^
Glaub mir: ich würde liebendgern darauf verzichten!
Ich hatte schon mehr als genug Probleme, die ich mehr oder weniger erfolgreich umgehen konnte.

PaulJr 27. Dez 2007 11:31

Re: TQuery oder TTable?
 
Ist das jetzt gang und gäbe hier, dass die BDE Benutzer als Verflucht gelten?

Unser junger Freund hat hier scheinbar ganz einfache Frage gestellt und noch keine richtige Antwort bekommen (falls solche überhaupt auf diese Frage gibt?)
Stattdessen muss er sich hier rechtfertigen: WARUM er BDE benutzt…??? Bla, bla, bla…

Man braucht hier nur die Suchfunktion benutzen um festzustellen wie oft und bei welchen Angelegenheiten schon dieses weise Rat als Finger Gottes benutzt wurde.

Das, dass Mehrheit der Anwendungen die mit Datenbanken zu tun haben Pflege und Ausbau von schon bestehenden Anwendungen sind … scheint hier kaum jemanden zu interessieren.
---------------------------------------------------------------------------------------------------------------
Nun zu Deiner scheinbar so banalen Frage Svenkan:

Die Frage ist soweit schwierig, dass dies lässt sich nicht so einfach zu beantworten:
Es kommt immer darauf an für was die gebraucht werden (Einsatz).
Ich benutze beides (auch BDE), allerdings kommen bei mir TTable seltener zum Einsatz. Ob sie deswegen schlechter sind weiß ich nicht.

Viele Grüße

Paul Jr.

Hansa 27. Dez 2007 11:57

Re: TQuery oder TTable?
 
Zitat:

Zitat von PaulJr
Ist das jetzt gang und gäbe hier, dass die BDE Benutzer als Verflucht gelten?
..

Jo. :mrgreen: Allerdings hat er ja gesagt, es sei ein "Altprojekt", es ginge nicht anders usw. und jetzt ist Ruhe. Tatsache ist aber, dass Borland selber davon abrät, die BDE zu benutzen und diese seit ca. 5 Jahren nicht mehr pflegt. Dann fangen trotz dieser Tatsache immer wieder welche damit an, für neue Projekte die BDE zu verwenden. Borland leistet dem noch damit Vorschub, dass in den Turbo-Versionen quasi nur die BDE zur Verfügung steht. 8) Mittlerweile ist es IMHO sogar schwer, auf Fragen wie diese hier eine richtige Antwort zu bekommen. Frage mal einen nach DOS. :mrgreen:

mkinzler 27. Dez 2007 12:03

Re: TQuery oder TTable?
 
Außerdem stimmt es nicht, dass die Frage nicht beantwortet wurde.

Hansa 27. Dez 2007 12:04

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
..Worauf setzt ihr lieber oder wovon ratet ihr direkt ab?

Das wurde ja auch gefragt. :mrgreen:

Bernhard Geyer 27. Dez 2007 12:39

Re: TQuery oder TTable?
 
Zitat:

Zitat von PaulJr
Ist das jetzt gang und gäbe hier, dass die BDE Benutzer als Verflucht gelten?

Sind sie das nicht? :gruebel:

Zitat:

Zitat von PaulJr
Unser junger Freund hat hier scheinbar ganz einfache Frage gestellt und noch keine richtige Antwort bekommen (falls solche überhaupt auf diese Frage gibt?)

Es wurden mehrere Fragen gestellt und einige habe ich beantwortet.

Zitat:

Zitat von PaulJr
Das, dass Mehrheit der Anwendungen die mit Datenbanken zu tun haben Pflege und Ausbau von schon bestehenden Anwendungen sind … scheint hier kaum jemanden zu interessieren.

Doch. Jedoch ist BDE nur noch für Anwendungen die den "End of Life" erreicht haben zu akzeptieren. Bist du bei einer Firma solltest du dir Gedanken machen wenn die Hauptanwendung auf BDE setzt aber keine Alternativen (andere DB-Zugriffsschicht, neue Produkte) entwickelt werden. Ansonsten könnte es passieren das in der Geschäftsleitung eh schon die Entlassung der Entwickler dieser Abteilung geplant ist wenn man gar nix mehr verkauft.

Zitat:

Zitat von PaulJr
Ich benutze beides (auch BDE), allerdings kommen bei mir TTable seltener zum Einsatz. Ob sie deswegen schlechter sind weiß ich nicht.

Kommt auf die Verwendung drauf an. Wir haben ein andere Desktop-DB im Einsatz und dort ist bei einfachen Abfragen die Verwendung der Table-Komponenten mit Ranges um einiges schneller als parametrisierte Select-Abfragen. Für richtige SQL-Server gibts eh nur parametrisierte Select-Abfragen da hier die Table-Funktionalität mit schlechter performance simuliert wird.

Svenkan 27. Dez 2007 12:54

Re: TQuery oder TTable?
 
Ich umgehe jetzt einfach mal die ganzen Reibereien bzgl. die BDE und frag mich mal weiter durch.^^
Auf Grund verdammt großer Datenemngen habe ich 27 Querys im Einsatz. Dies führt unweigerlich bei einer Aktualisierung zu kurzen Performance-Einbrüchen. Verschaffen mir Tables da eine Abhilfe?

Bernhard Geyer 27. Dez 2007 13:01

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
Auf Grund verdammt großer Datenemngen habe ich 27 Querys im Einsatz.

Was ist "verdammt groß". Ich würde (bei unserer Anwendung) so >> 10 GB ansehn.

Zitat:

Zitat von Svenkan
Dies führt unweigerlich bei einer Aktualisierung zu kurzen Performance-Einbrüchen. Verschaffen mir Tables da eine Abhilfe?

Was meinst du damit genau (Wartecurser, ..)? Und was willst du überhaupt nach der Aktualisierung anzeigen (Gesamte Datenmenge)?

Svenkan 27. Dez 2007 14:06

Re: TQuery oder TTable?
 
Ok. :D
Für mich sind es große Datenmenge. ^^
Mit den 27 Querys lade ich aus der dbf für 5 Tage Vertretungsdaten und abwesende Lehrer/Klassen.
Das Problem ist ganz einfach, dass die Aktualisierung teilweise bis zu über 5 Sekunden dauerd und das ganz einfach viel zu lange ist. Gleichzeitig wird dabei die Prozessorauslastung in die Höhe getrieben.

mkinzler 27. Dez 2007 14:10

Re: TQuery oder TTable?
 
Eine Datenbank mit 5 Tabellen würde ich in keinesfalls als groß bezeichnen. wie sehen die Abfragen aus? Wie sind die Einstellungen?

Bernhard Geyer 27. Dez 2007 14:31

Re: TQuery oder TTable?
 
Sind auf allen Tabellen entsprechende Indize angelegt? Evtl. sind die Abfragen zu komplex und die BDE "vergisst" das sie Indize verwenden kann und einfach einen Full-Table-Scan durchführt. Dauern alle Abfragen gleich lang? Müssen alle Aktualisierungen sofort durchgeführ werden?

hoika 28. Dez 2007 17:25

Re: TQuery oder TTable?
 
Hallo,

als "Verfluchter" ;)

Benutze unter DBase/Paradox Queries nur, wenn du vorher getestet hast,
ob die Geschwindigkeit stimmt.
Jede Query wird von der bde in TTable (besser Dbi oder local sql) Befehle umgesetzt,
mal besser, mal schlechter.

Ich habe festgestellt, dass gerade joins sehr langsam sind,
bei TTable kann die Bde sehr massiv cachen,
bei joins geht das nicht mehr so einfach.

Ich würd immer mit TTable beginnen
und dann, wenn alles läuft, ein paar Sachen über TQuery versuchen
(meistens fehlt dazu aber die Zeit).


Was mich stutzig macht, ist das "Ändern".
Du versuchst doch nicht wirklich,
direkt in einer Join per Edit / Post was reinzuschreiben ???
Argzz. Nimm dazu eine separate TTable.


Heiko

Svenkan 2. Jan 2008 01:12

Re: TQuery oder TTable?
 
Hallo hoika,

zuerst einmal danke für diesen kleinen Überblick.
Ich habe auch gemerkt, dass mit Queries nix zu holen ist. Das dauerd einfach zu lange beim Umschalten des Datums (neues Filtern etc.).
Könntest du mir in der Hinsicht sagen, wie man mit Tables filtert, sortiert und so?

hoika 2. Jan 2008 09:03

Re: TQuery oder TTable?
 
Hallo,

Table.Filter:= 'Datum='+QuotedStr('1.1.2008');

oder so ähnlich -> Hilfe

Ich würde dazu aber eher SetRange benutzen,
dass hatte ich damals immer so gemacht (SetRangeStart, SetRangeEnd, ApplyRange)


Heiko

Svenkan 3. Jan 2008 01:29

Re: TQuery oder TTable?
 
Danke schonmal für deine Hilfe!
Wo kann ich denn nun die Title-Captions ändern?
Vorher mit den Queries war das kein Problem, hier aber ist es nun so, dass wenn ich z.B. über 'DBGrid -> Columns -> (...) -> Title -> Caption' mache, dann isses nach einem Close der Table wieder zurückgesetzt!

haentschman 3. Jan 2008 02:38

Re: TQuery oder TTable?
 
Guten Morgen... :-D

...dieser Effekt ist logisch. :roll:

- DbGrid ist datensensitiv.
- wenn du die Verbindung zur Tabelle trennst hast Du logischerweise auch keine Spalten mehr und demzufolge auch keine Überschriften und andere diverse Eigenschaften.

...Fazit:

1. entweder läßt Du die Tabelle immer offen..Spalteneigenschaften einmalig setzen...
2. oder nach jedem Table.Active die Spalteneigenschaften neu setzen..

:hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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