AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DB nach Spalte sortieren (Index oder SQL?)
Thema durchsuchen
Ansicht
Themen-Optionen

DB nach Spalte sortieren (Index oder SQL?)

Ein Thema von Jetro223 · begonnen am 21. Dez 2003 · letzter Beitrag vom 22. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#1

DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 00:15
Hallo,

ich hab' eine kleine DBase Datenbank, die ich über ein DBGrid anzeigen lasse.

TTable --> TDataSource -> TDBGrid.

Nun möchte ich die Tabelle nach bestimmten Spalten sortieren. Biem Programmstart ist sie nach Spalte X sortiert, ich will aber auf Knopfdruck nach Spalte Y oder Z sortieren.

Wie bekomm ich das hin? Ich hab jetzt schon einige Beispiele gelesen mit

Code:
SQL ( SELECT * FROM Tabellenname ORDER BY Spaltenname)
, aber damit kann ich absolut nix anfangen.

Oder die zweite Möglichkeit, die ich anscheinend hab mit

Code:
Table1.IndexName := IndexName;
, wobei Indexname irgendwie auf den Spaltennamen verweisen muss (keine Ahnung wie..)

Also: Kann mir jemand sagen, wie ich das Sortieren hinbekomme, entweder mit SQL oder mit den Indexen...würde mich sehr freuen.

Ciao
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 01:14
Moin Jetro,
Wenn du von Table auf Query wechselst, kannst du das mal versuchen.( im OnTitleClick-Event des Grids)
Delphi-Quellcode:
  TQuery(Column.Grid.DataSource.DataSet).SQL.Text :=
    SelectStr +#10+
    'ORDER BY ' + IntToStr(succ(Column.Index));
[Edit] "SelectStr" sol dein Select-Statement bis vor die "ORDER BY"-Clause enthalten[/Edit]
Ich weiß jetzt aber nicht, ob TTable auch eine SQL-property hat.
Ich kenne mich aber mit dem BDE/ADO - zeugs nicht so aus

p.s.: Wenn das die BDE kompos sind, dann nehme lieber ADO
(BDE wird hier in der DP öfters als schlechter beschrieben)
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 08:33
Hallo Jetro223,

erst einmal herzlich willkommen in der Delphi-Praxis. Wie GeorgeWNewbie schon sagte, empfiehlt sich die Verwendung einer Query:
Delphi-Quellcode:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add ('SELECT * FROM tabelle');
Query1.SQL.Add ('ORDER BY ' + Column.FieldName);
Query1.Open;
Die Zeichenkette im ersten Add kannst Du auch in eine String-Variable legen.
@GeorgeWNewbie: Bei TTable gibt es keine Eigenschaft SQL. Die BDE ist nicht unbedingt schlecht, sie wird nur von Borland nicht mehr weiterentwickelt. Und ADO macht eigentlich nur Sinn, wenn man auf Access, MS SQL-Server und eventuell auf Oracle zugreifen will. Für alle anderen DB's muß man sich die (teilweise kostenpflichten) ADO-Treiber besorgen. Borland selbst empfiehlt DBExpress.
  Mit Zitat antworten Zitat
Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#4

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 11:38
Hallo nochmal und danke erstmal

Diese Möglichkeit hab ich auch schon einige Male gelesen.

Aber wie genau verbind ich damit mein DBGrid und die DataSource...

Wahrscheinlich fehlen mir nur noch die richtigen Verknüpfungen zwischen den Komponenten um es zum laufen zu bringen.

Wäre echt genial, wenn mir die noch jemand aufschreiben könnte

Ciao
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 11:59
Hai Jetro223,

bei deiner DataSource stellst Du im OI bei DataSet dein Query1 ein.
In deinem DBGrid stellst Du dann unter DataSource deine DataSource1 ein.

Das Query muss natürlich mit einer Connection verbunden sein.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#6

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 12:20
Hmm, irgendwie schein ich zu blöd zu sein Ich kapiers nicht.

Also ich hab jetzt je einmal

TQuery
TTable --> hier verweis ich normalerweise bei Table1.TableName auf c:\blah.dbf, meine DBase Tabelle
TDataSource --> hier kommt bei DataSet Table1 hin
TDBGrid --> hier bei Datasource, DataSource1

Wie muss ich jetzt das TQuery in das Ganze einfügen, das mir trotzdem meine Daten im TDBGrid angezeigt werden, ich dann aber via SQL ordnen etc. kann.

Ciao

Edit: Oder beziehungsweise, was stell ich beim TQuery ein...denn dort gibt es nur DatabaseName, ich hab aber keine Aliase oder so Zeug

Sorry, ihr merkts sicher schon, bin Anfänger in Richtung Datenbank
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 12:23
Du brauchst noch eine TDataBase wenn ich mich nicht täuche.
Und dann anstelle der TTable die TQuery verwenden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#8

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 12:30
Und wie mach ich das bei der TDatabase mit dem Databasename und wo ist da ne Verknüpfung zum Query...mist, im moment blick ich absolut nix...

Ciao
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 12:32
Was hast Du denn für eine Delphi-Version? Eventuell ist es mit den ADO-Komponenten ja leichter zu lösen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#10

Re: DB nach Spalte sortieren (Index oder SQL?)

  Alt 21. Dez 2003, 12:37
Ich hab Delphi 6 Enterprise. Kann ja nicht soooo schwer sein, einfach nach versch. Spalten zu ordnen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz