Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Einträge in einer Tabelle ordnen. (https://www.delphipraxis.net/99690-eintraege-einer-tabelle-ordnen.html)

Code 16. Sep 2007 09:40

Datenbank: ABS • Version: 4,88 • Zugriff über: DataSource

Einträge in einer Tabelle ordnen.
 
Hallo Alle!

Ich habe eine Tabelle erstellt und stelle diese mit einem DBGrid dar. Nun möchte ich die Einträge in der Tabelle ordnen. Ich benutze dafür diesen Code:
Delphi-Quellcode:
Form1.ABSQuery1.Close;
Form1.ABSQuery1.DatabaseName := Form1.ABSDatabase1.DatabaseName;
Form1.ABSQuery1.SQL.Clear;
Form1.ABSQuery1.SQL.Text := 'select id, Tittel, Autor, Lesestufe,Gattung, am, zurueck, Leser, Klasse from Buecher ORDER BY id ASC';
Form1.ABSQuery1.ExecSQL;
Form1.DBGrid1.Update;
Der Code wird ohne Fehler Abgearbeitet aber trotzdem ändert sich nichts. Was mache ich falsch?

Gruß Klaus

marabu 16. Sep 2007 09:48

Re: Einträge in einer Tabelle ordnen.
 
Moin Klaus,

nimm mal ein anderes Feld zum Sortieren, die Datensätze stehen in der Datenbank-Tabelle bereits in der Folge der ID-Werte.

Grüße vom marabu

hoika 16. Sep 2007 10:03

Re: Einträge in einer Tabelle ordnen.
 
Hallo,

statt

Form1.ABSQuery1.ExecSQL;

musst du

Form1.ABSQuery1.Open;

benutzen, dann kannst du dir das DBGrid.Update auch sparen.


Heiko

Code 16. Sep 2007 10:06

Re: Einträge in einer Tabelle ordnen.
 
Zitat:

Zitat von marabu
Moin Klaus,

nimm mal ein anderes Feld zum Sortieren, die Datensätze stehen in der Datenbank-Tabelle bereits in der Folge der ID-Werte.

Grüße vom marabu

Guten Morgen!

Habe ich versucht, egal welches Feld ich nehme es tut sich nichts.

Gruß
Klaus

marabu 16. Sep 2007 10:15

Re: Einträge in einer Tabelle ordnen.
 
Hast du denn auch den Rest deines Codes angepasst?

Delphi-Quellcode:
begin
  with ABSQuery1 do
  begin
    // DatabaseName := Form1.ABSDatabase1.DatabaseName; // i.d.R. nur einmal im Object Inspector setzen
    SQL.Text := 'select id, Tittel, Autor, Lesestufe,Gattung, am, zurueck, Leser, Klasse from Buecher ORDER BY autor ASC';
    Open; // ExecSQL nur bei INSERT, UPDATE, DELETE
  end;
end;

Code 16. Sep 2007 10:48

Re: Einträge in einer Tabelle ordnen.
 
Zitat:

Zitat von marabu
Hast du denn auch den Rest deines Codes angepasst?

Welchen Rest? Ich habe jetzt nur:
Delphi-Quellcode:
  with Form1.ABSQuery1 do
  begin
    DatabaseName := Form1.ABSDatabase1.DatabaseName;
    SQL.Text := 'select id, Tittel, Autor, Lesestufe,Gattung, am, zurueck, Leser, Klasse from Buecher ORDER BY autor ASC';
    open;
  end;
DBGrid1.Update;
Tut sich trozdem nichts.
Bitte entschuldige wenn ich noch dumm frage. Ich bin noch Neuling.

Gruß
Klaus

marabu 16. Sep 2007 10:53

Re: Einträge in einer Tabelle ordnen.
 
Beschreibe mal, was du genau unter "tut sich nix" verstehst.

Code 16. Sep 2007 11:09

Re: Einträge in einer Tabelle ordnen.
 
Zitat:

Zitat von marabu
Beschreibe mal, was du genau unter "tut sich nix" verstehst.

Die Einträge bleiben ungeordnet. Bei ABS war so ein Tool (DB-Monitor) dabei, womit man SQL- Befehle eingeben kann. Wenn ich es damit mache klappt es.
Nur mit meinem Code nicht.

Gruß
Klaus

haentschman 16. Sep 2007 11:12

Re: Einträge in einer Tabelle ordnen.
 
Hallo...

lt. SQL Syntax sind die Sortierfelder durch ein Komma getrennt...

ORDER BY "Spalten_Name1" [ASC, DESC], "Spalten_Name2" [ASC, DESC]

vieleicht ignoriert SQL die Sortierreihenfolge dadurch... :gruebel:

...probiers mal aus. :hi:

Code 16. Sep 2007 11:31

Re: Einträge in einer Tabelle ordnen.
 
Zitat:

Zitat von haentschman
Hallo...

lt. SQL Syntax sind die Sortierfelder durch ein Komma getrennt...
ORDER BY "Spalten_Name1" [ASC, DESC], "Spalten_Name2" [ASC, DESC]
vieleicht ignoriert SQL die Sortierreihenfolge dadurch... :gruebel:
...probiers mal aus. :hi:

Vielen Dank, für den Tipp, klappt aber auch nicht. So langsam bin ich am verzweifeln. Wenn wenigstens eine Fehlermeldung kommen würde.

Gruß
Klaus

Die Muhkuh 16. Sep 2007 11:37

Re: Einträge in einer Tabelle ordnen.
 
Hi,

versuch mal:

Delphi-Quellcode:
SQL.Text := 'SELECT id, Tittel, Autor, Lesestufe, Gattung, am, zurueck, Leser, Klasse FROM Buecher ORDER BY Autor ASC';
Heißt das eine Feld wirkliche Tittel (mit doppel T)?

haentschman 16. Sep 2007 11:54

Re: Einträge in einer Tabelle ordnen.
 
Hallo...

:wall: ich hatte ASC beim drüberlesen für einen Feldnamen gehalten...

ASC ist wenn nichts angegeben wird eh Voreinstellung...lass es mal weg :roll:

Code 16. Sep 2007 11:56

Re: Einträge in einer Tabelle ordnen.
 
Zitat:

Zitat von Die Muhkuh
Hi,

versuch mal:

Delphi-Quellcode:
SQL.Text := 'SELECT id, Tittel, Autor, Lesestufe, Gattung, am, zurueck, Leser, Klasse FROM Buecher ORDER BY Autor ASC';
Heißt das eine Feld wirkliche Tittel (mit doppel T)?

Ja, ich hatte beim erstellen einen Tippfehler.
Klappt nicht. Ohne ASC auch nicht. Vieleicht ein grundsätzlicher Fehler? Nur schlecht ohne Fehlermeldung.

Gruß
Klaus

marabu 16. Sep 2007 12:19

Re: Einträge in einer Tabelle ordnen.
 
Hallo Klaus,

prüfe bitte, ob deine Query auch als DataSet in der DataSource-Komponente eingetragen ist, die du in der Eigenschaft DataSource deines Grids eingetragen hast.

Freundliche Grüße

Code 16. Sep 2007 12:34

Re: Einträge in einer Tabelle ordnen.
 
Zitat:

Zitat von marabu
Hallo Klaus,

prüfe bitte, ob deine Query auch als DataSet in der DataSource-Komponente eingetragen ist, die du in der Eigenschaft DataSource deines Grids eingetragen hast.

Freundliche Grüße

Ja..... genau das war der Fehler. :bounce2: Ich hatte aus Versehen die Tabelle eingetragen.

Vielen Dank

Gruß
Klaus


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