Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Einträge sortiert in der Datenbank hinzufügen (https://www.delphipraxis.net/101699-eintraege-sortiert-der-datenbank-hinzufuegen.html)

PES 17. Okt 2007 15:42

Datenbank: Paradox • Version: 7 • Zugriff über: ?

Einträge sortiert in der Datenbank hinzufügen
 
Hallo,

ich würde gerne wissen was ich machen muß damit hinzufügte Einträge automatisch in der Datenbank sortiert abgespeichert werden.

Infos:

ich benutze ein DBGrid und da zeigt er mir den Inhalt meiner Paradox7 Datenbank an. Über SQL habe ich es auch hinbekommen das ich mit den Komponenten DataSource, Query meine Daten sortiert angezeigt werden. Nun möchte ich aber das die Daten auch in der Tabelle schon sortiert sind.

Was muß machen??

Gruß PES

DeddyH 17. Okt 2007 15:45

Re: Einträge sortiert in der Datenbank hinzufügen
 
Beschäftige Dich mit den Grundlagen von Datenbanken. Es gibt keine sortierte Abspeicherung (was sollte das auch bringen außer Performance-Verlusten?)

PES 17. Okt 2007 16:31

Re: Einträge sortiert in der Datenbank hinzufügen
 
okay dann frage ich mich wie ich ein DBGrid immer sortiert angezeigt bekomme wenn ich nur eine DataSource zur Verfügung habe und die ist festgelegt mit der Verknüpfung auf die Datenbank. Wie kann ich jetzt meine SQL-Abfrage zur Anwendung bekommen.

Tyrael Y. 17. Okt 2007 16:54

Re: Einträge sortiert in der Datenbank hinzufügen
 
Du kannst deine Daten sortiert auslesen.

SELECT * FROM EineTabelle ASC

bzw.

SELECT * FROM EineTabelle DESC

RavenIV 17. Okt 2007 16:58

Re: Einträge sortiert in der Datenbank hinzufügen
 
Zitat:

Zitat von PES
okay dann frage ich mich wie ich ein DBGrid immer sortiert angezeigt bekomme wenn ich nur eine DataSource zur Verfügung habe und die ist festgelegt mit der Verknüpfung auf die Datenbank. Wie kann ich jetzt meine SQL-Abfrage zur Anwendung bekommen.

Zwischen TDatasource und der Datenbank hängt in den meisten F$llen ein TDataset.
Das TDataset kann eine TQuery oder TTable oder sonst was sein.
Auf jeden Fall kann ein TDataset die Daten sortieren und erst dann zur TDatasource weitergeben.

shmia 17. Okt 2007 17:06

Re: Einträge sortiert in der Datenbank hinzufügen
 
Zitat:

Zitat von Tyrael Y.
SELECT * FROM EineTabelle ASC

Du hast ORDER BY vergessen:
aufsteigend sortieren
SQL-Code:
SELECT * FROM EineTabelle ORDER BY Sortierfeld
absteigend sortieren
SQL-Code:
SELECT * FROM EineTabelle ORDER BY Sortierfeld DESC
nach mehreren Feldern (gemischt aufsteigend oder absteigend) sortieren:
SQL-Code:
SELECT * FROM EineTabelle ORDER BY SortierfeldA DESC, SortierfeldB ASC, SortierfeldC
sortieren nach dem 3. Feld
SQL-Code:
SELECT * FROM EineTabelle ORDER BY 3

PES 18. Okt 2007 05:12

Re: Einträge sortiert in der Datenbank hinzufügen
 
Liste der Anhänge anzeigen (Anzahl: 1)
die SQL-Abfrage ist nicht das Problem. Um Mißverständnisse vorzubeugen, habe ich jetzt mal mein kleines Programm hochgeladen. Würde jetzt gerne wissen wie ich es am besten anstellen kann das das DBGrid immer absteigend sortiert dargestellt wird. Bin für alle Vorschläge offen.

alzaimar 18. Okt 2007 07:42

Re: Einträge sortiert in der Datenbank hinzufügen
 
ADO bietet Dir mit der TADOTable Komponente eine sehr einfache Möglichkeit, die Daten sortiert zu laden. Setze dazu die IndexFieldNames-Eigenschaft auf das Feld, nach dem sortiert werden soll.

Ansonsten müsstest Du einen TProvider mit der TTable und ein TClientDataset mit dem TProvider verbinden. Die TDatasource biegst Du auf das TClientDataset um und setzt dort wieder die IndexFieldNames-Eigenschaft.

Wenn es um eine flexible Darstellung der Daten geht, bei der der Anwender durch Klicken auf die Überschriften sortieren kann, dann empfehle ich die Verwendung alternativer Grid-Komponenten.

MrSpock 18. Okt 2007 08:51

Re: Einträge sortiert in der Datenbank hinzufügen
 
Hallo PES,

wie alzaimar schon gesagt hast, kannst du einen Index festlegen, der beim Anzeigen für die Sortierung sorgt. Das funktioniert auch mit TTable. Du musst diesen Index aber ggf. vorher noch erzeugen. Das geht am einfachsten über die Datenbankoberfläche.

hoika 18. Okt 2007 20:02

Re: Einträge sortiert in der Datenbank hinzufügen
 
Hallo,

du kannst den Index auch per SQL anlegen.

Create Desc Index idx_DescName On Personal(Name)

Desc Index klappt aber erst ab Pdx7 (?).


Heiko


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