Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensatz in Tabelle finden (https://www.delphipraxis.net/16822-datensatz-tabelle-finden.html)

SilverMoonGirl 24. Feb 2004 10:32


Datensatz in Tabelle finden
 
hi@all

ich möchte gerne in meiner Tabelle Daten suchen lassen. Das ganze sollte etwas so aussehen, wenn z.b "a" eingegeben wird, werden alle Daten angezeigt die mit "a" beginnen. Leider hab ich keinen Plan wie ich das machen soll.


vielen Dank schonmal im vorraus

Cuchulainn 24. Feb 2004 10:37

Re: Datensatz in Tabelle finden
 
Hallo,

mit was für einer Tabelle möchtest du denn arbeiten? Eine Paradox-Tabelle?
Du könntest eine Query verwenden (suche in der Hilfe nach TQuery). Damit kannst du dann SQL-Abfragen schreiben. Das könnte dann zum Beispiel so aussehen:
Delphi-Quellcode:
with MyQuery do
begin
  Clear;
  Sql.Close;
// Alle Datensätze werden aus Tabelle selektiert, deren Wert in Spalte mit a anfängt.
  Sql.Add('SELECT * FROM <Tabelle> WHERE <Spalte> = a%');
  Sql.Open;
end;
Hilft dir das?

SilverMoonGirl 24. Feb 2004 10:40

Re: Datensatz in Tabelle finden
 
sorry Cuchulainn, hab da noch was vergessen :oops:
Ich arbeite mit einer FF2 Datenbank, und ich wollte das ganze über TTable realisieren, wenn das geht...

Cuchulainn 24. Feb 2004 10:46

Re: Datensatz in Tabelle finden
 
Ach so. Mit so etwas habe ich jetzt noch nicht gearbeitet. Was ich jetzt sage, ist nur theoretisch, aber vielleicht funktioniert es ja.
Wenn du ein TTable-Objekt hast, kannst du dir mit einer Query Daten herausziehen. Dann müsste die Select-Anweisung folgendermaßen aussehen:
Delphi-Quellcode:
var Tabelle: TTable;

(...)

Sql.Add('SELECT * FROM "' Tabelle.TableName + '" WHERE <Spalte> = a%');
(...)
Dann stehen die Datensätze in der Query, und du kannst darauf zugreifen. Achte darauf, dass du die doppelten Anführungszeichen in der Selectanweisung unbedingt hinzufügst.
So sollte es dann eigentlich funktionieren.

Robert_G 24. Feb 2004 10:54

Re: Datensatz in Tabelle finden
 
@Cuchulainn
Das kann und wird so nicht funktionieren können

@SilverMoonGirl
Der Vergleichsoperator, der dich in dem Fall interessiert ist like.
Beispiel (ADOQuery):
Delphi-Quellcode:
With Query Do
Begin
  SQL.Text :=
    'SELECT *' + #10 +
    'FROM  DeineTabelle t' + #10 +
    'WHERE t.DeinFeld Like :i_SearchWord || ''%''';
  Prepared := True;
  Parameters.ParamByName('i_SearchWord').Value := DeineStringVariable;
  Open;

  While not Eof Do
  Begin
    ...
    Next;
  End;
End;
Nachtrag:
p.s.: Die TTable würde ich gegen eine TQuery ersetzen...

Cuchulainn 24. Feb 2004 11:05

Re: Datensatz in Tabelle finden
 
Zitat:

Zitat von Robert_G
@Cuchulainn
Das kann und wird so nicht funktionieren können

Stimmt, jetzt sehe ich es auch.

@SilverMoonGirl: Tur mir leid, dass ich dir was falsches erzählt habe :oops:

SilverMoonGirl 24. Feb 2004 11:06

Re: Datensatz in Tabelle finden
 
vielen dank erstmal für eure hilfe, ich muss erstmal wieder den FFserver zum laufen bekommen, sonst geht da nix;-)

/Edit: ich muss die Kompos erst auf SQL einrichten

SilverMoonGirl 24. Feb 2004 11:10

Re: Datensatz in Tabelle finden
 
@ Cuchulainn kein problem;-)

r_kerber 24. Feb 2004 19:54

Re: Datensatz in Tabelle finden
 
Bei Table-Objekten gibt es die Eigenschaften Filter und Filtered. Damit sollte es gehen!


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