![]() |
Re: Inhalt eine Datenbank nach Datum sortieren... .
Danke,
die Lösung war dann doch leichter. Ich hab die DB bearbeitet und dann mal das Datum Feld auf DATUM gesetzt. Jetzt sortiert er richtig! Gott sei DANK! So wie euch allen auch, sehr netter Support hier. |
Re: Inhalt eine Datenbank nach Datum sortieren... .
Morgen,
eigentlich war dieser Thread fertig. Allerdings wollte ich ihn dann doch noch mal nutzen, denn nun muss ich nicht nur die Tabelle geordnet ausgeben (im Grid), sondern die Tabelle muss auch tatsächlich neu sortiert werden. Fragt nicht, ich habs mir nicht ausgedacht :? . Der funktionierende Code, um die Tabelle geordnet auszugeben im Grid, sieht so aus:
Delphi-Quellcode:
Es müsste mit SQL doch auch möglich sein, diese dBase Datenbank richtig zu sortieren. ´Zumindest hätte ich n großes Problem wenns nicht geht.
Querysort.Close;
Querysort.SQL.Clear; Querysort.SQL.Add('select * from "t:eDienstreisebuch\mainDB.dbf" ORDER BY DATUM'); Querysort.Active:=True; |
Re: Inhalt eine Datenbank nach Datum sortieren... .
In der Tabelle stehen die einzelnen Datensätze so drin, wie sie eingetragen werden. Wozu soll das Sortieren der Tabelle gut sein? Und bei "echten" SQL-Datenbanken ist es noch unübersichtlicher, da hier der Platz von gelöschten Datensätzen wieder neu genutzt genutzt wird. Die einzige Chance, die Du IMHO hast ist das Anlegen einer neuen Tabelle, Löschen/Umbenennen der alten und anschließendes Umbenennen der neuen Tabelle.
|
Re: Inhalt eine Datenbank nach Datum sortieren... .
Hi,
Zitat:
aber wer um Himmels willen will das und warum???? Und warum hast Du dann ein Problem, wo doch diese Forderung sinnlos ist, und SQL-Datenbanken deshalb so nicht gebaut sind, seit jeher. Also mal kurze Erläuterung: SQL - Datenbanken arbeiten per Definition mengenorientiert, die Elemente dieser Menge, die in Tabellen aufbewahrt werden, haben keine Sortierung. Etwas was keine Sortierung hat, kann man auch nicht sortieren, mal etwas locker formuliert. Eine Sortierung entsteht erst durch die Abfrage (order by). Keine SQL-Datenbank garantiert irgendeine Sortierung wenn man bei der Abfrage keine vorgibt. Desktopdatenbanken sind jetzt rein zufällig häufig so implementiert, daß die Datensätze eine Reihenfolge haben, aber das ist keine Fähigkeit von SQL, und kann daher auch nicht über SQL genutzt werden. Überhaupt sollte man Dinge, die nur rein zufällig funktionieren, nicht verwenden, weil bei der nächsten Datenbank, ja vielleicht sogar der nächsten Version einer Datenbank gehen sie plötzlich nicht mehr. Grüsse Woki |
Re: Inhalt eine Datenbank nach Datum sortieren... .
Warum:
Wenn mir wer von 'oben' sagt: 'Lauf!' Dann frag ich nicht erst wie schnell, sondern laufe. Leider kann man sich heute seinen Arbeitsplatz nicht einfach auswählen, etwas unterordnen ist da angesagt. Aber wenn es einfach nicht geht, dann gehts nicht. Danke für die Information. |
Re: Inhalt eine Datenbank nach Datum sortieren... .
Zitat:
Zitat:
Grüsse Woki |
Re: Inhalt eine Datenbank nach Datum sortieren... .
LuckyStrike4life, nicht gleich aufgeben! :zwinker:
Jeden Schritt als einzelnes Statement absetzen.
SQL-Code:
Ist ein bisschen umständlich, sollte aber auch in dBase funktionieren.
--1)
CREATE TABLE mainDB.eDienstReiseBuch_New AS SELECT * FROM mainDB.eDienstreisebuch ORDER BY DATUM; --2) DELETE FROM mainDB.eDienstReiseBuch; --3) INSERT INTO mainDB.eDienstReiseBuch SELECT * FROM mainDB.eDienstReiseBuch_New; --4) DROP TABLE mainDB.eDienstReiseBuch_New; --5) COMMIT; An deinen Arbeitsplatzrechner dürfte mainDB ja richtig definiert sein, also musst du diese f*** "t:eDienstreisebuch\mainDB.dbf"-Schreibweise auch nicht nutzen. |
Re: Inhalt eine Datenbank nach Datum sortieren... .
Zitat:
|
Re: Inhalt eine Datenbank nach Datum sortieren... .
Okay,
ich hab jetzt noch mal mit meinem direktem Chef gesprochen, er meint es würde schon okay sein - wenn die Datenbank unsortiert bleibt. Allerdings unterstehe ich diversen Leuten, sprich dem Chef meines Chefs usw... . Kommt noch drauf an was die dazu meinen. Vielleicht fällt es euch auf das mein Delphi-Wissen nicht das Beste ist, an sich bin ich auch Systemintegration nicht Anwendungsentwicklung, aber man nimmt was kommt. So qual ich mich seit einiger Zeit mit Delphi. Nun gut, ich hab eben auch den Vorschlag von GeorgeWNewbie meinem Chef erklärt, aber er meint dieser wäre zu unsicher. Zwecks Systemausfall, Serverausfall während der Ausführung des Codes. Aber dennoch schönen Dank für die Mühe. Relevant wäre die Sortierung der Datenbank im Zusammenhang mit der Druckfunktion gewesen. Denn diese ließt die Datenbank 'einfach nur' aus, und druckt den Inhalt in der Reihnfolge wie die Daten in der DB stehen. Edit: Dabei fällt mir ein, man könnte ja eventuell ein Query mit nem DataSource verwenden, und die QRDB Komponenten damit verknüpfen. |
Re: Inhalt eine Datenbank nach Datum sortieren... .
Jede moderne SQL-DB verwendet sog. "Transaktionsmodelle".
d.h.: solange du den letzten Befehl in meinem Post ("Commit") nicht ausgeführt hast, bleiben die Daten auf dem Server unangetastet. Erst dadurch schreibst du die Daten von den rollback-segmenten in die tatsächlichen tablespaces. (ich kann hier aber für dBase meine Hand nicht ins Feuer legen) Um auf Nummer sicher zu gehen - welche Compos zum DB-Zugriff verwendest du & weiß jemand hier in der DP ob diese Compos autom. ein Commit absetzen. p.s.: Das ist nur um dir eine Lösung für deine Frage zu zeigen, ich persönlich bin gegen eine Umsortierung der Tabellen, da man sowieso mit Abfragen darauf zugreift. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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