AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suchen mit TQuery ?

Ein Thema von Vader · begonnen am 24. Mär 2006 · letzter Beitrag vom 24. Mär 2006
 
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Suchen mit TQuery ?

  Alt 24. Mär 2006, 10:19
Zitat von Vader:
... ich möchte denn unterschied kennenlernen zwischen ttable und tquery, ...
Hai Vader,

der unterschied ist eigentlich recht einfach erklärt.
Eine TTable holt immer alle Datensätze einer Tabelle aus der Datenbank. Das filtern findet dann lokal auf dem Client statt.

Bei einem TQuery sagst DU der Datenbank was für Datensätze Du haben möchtest (z.B. WHERE feld = value).

Daraus folgt das die Datenmenge die Du bei einer TTable bekommst dem SQL-Befehlt SELECT * FROM tabelle eines TQuery enspricht.


Was ist nun der Nachteil einer TTable? Wie gesagt werden immer alle Felder und alle Datensätze einer Tabelle zum Client übertragen.

Stelle dir nun vor Du hast eine Tabelle mit den Adressen aller Einwohner von Deutschland und suchst nun die Hausnummer eines Menschen von dem Du Name, PLZ und Strasse kennst.

Bei einer TTable würden jetzt also zig Millionen Datensätze (mit allen Feldern jedes DS) zu deinem Clientübertragen und dort würdest Du dann suchen bzw. filtern.

Bei einer TQuery sagst Du einfach:
SELECT hausnummer von tabelle WHERE (plz = :such_plz) AND (strasse = :such_strasse) AND (name = :such_name) Jetzt bekommst Du von der DB zu deinem Client nur die Hausnummern welche deiner Suchanfrage entsprechen.
Das sind dann vielleicht einige hundert Byte. Und bei einer TTable sind es einige hunder MegaByte.

Ich hoffe das bringt etwas Licht in die Dunkelheit.

Nachtrag!!!
@Vader: Du musst den Code den man Dir zeigt auch so übernehmen.

Es müsste bei dir also so aussehen:
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Text := 'SELECT * FROM tabelle WHERE name = :suche';
  Query1.ParamCheck := True;
  Query1.ParamByName('suche').AsString := Edit1.Text;
  Query1.Open
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
 


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 11:03 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-2025 by Thomas Breitkreuz