AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Suche in Datenbank (TTable) mit Joker am Anfang
Thema durchsuchen
Ansicht
Themen-Optionen

Suche in Datenbank (TTable) mit Joker am Anfang

Ein Thema von delphin · begonnen am 21. Okt 2011 · letzter Beitrag vom 23. Okt 2011
 
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Suche in Datenbank (TTable) mit Joker am Anfang

  Alt 23. Okt 2011, 18:07
Hallo Datenbänkler,

Nun verstehe ich aber nicht, ob ich meine bisherige Datenbank inkl. Quelltext auf SQL umstellen muss oder die Komponente Query(DBTables) von der BDE-Komponente nur einfügen und mit TTable verbinden soll?
TQuery und TDataset ersetzen TTable jeweils vollständig. Für eine ganz einfache Darstellung einer Datenbank-Tabelle ist TTable vollkommen ausreichend. Möchtest du jedoch umfanngreiche Manipulationen an der Datenbank vornehmen wie z.B. Filterung, sind TDataset oder TQuery deine Freunde. Das heißt, du verwendest statt einer TTable-Komponente ein TQuery (da du offenbar mit der völlig veralteten Borland Database Engine [BDE] arbeitest, hast du kein TDataset zur Verfügung).

Setze also dein TQuery auf dein Datenmodul oder deine Form, stelle die im Objektinspektor (OI) Databasename ein und doppelklicke im OI auf das Feld mit der Bezeichnung SQL. Es erscheint ein Stringlisten-Editor, in dem du deinen SQL-String eingibst:
Code:
select * from Tabelle
wobei Tabelle den Namen bezeichnet, den die entsprechende Tabelle in der Datenbank besitzt. Danach schaltest du im OI das Property Active auf true. Dieselbe Vorgehensweise kannst du auch im Code vornehmen. Gehen wir davon aus, dein TQuery heißt Q_Adresse und deine Tabelle Adressen:
Delphi-Quellcode:
Q_Adresse.Active := false;
Q_Adresse.SQL.Clear;
Q_Adresse.SQL.Append('select * from Adressen');
Q_Adresse.Active := true;
Möchtest du deine Tabelle nun filtern, kannst du das entweder im SQL-Feld tun:
Delphi-Quellcode:
Q_Adresse.Active := false;
Q_Adresse.SQL.Clear;
Q_Adresse.SQL.Append('select * from Adressen where Name=Mustermann');
Q_Adresse.Active := true;
oder eben mittels der eingebauten Filterfunktion:
Delphi-Quellcode:
Q_Adresse.Filtered := false;
Q_Adresse.Filter := 'Name=Mustermann';
Q_Adresse.Filtered := true;
Die zweite Lösung hat die Vorteile, daß du erstens nicht ständig die Verbundung zur Tabelle trennen und wieder herstellen mußt und daß sie zweitens kürzer ist.

Selbstverständlich kannst du dasselbe auch mit der TTable-Komponente erreichen, die ebenfalls über ein Filter-Property verfügt.
  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 23:20 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