Seltsames Datenbankverhalten

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Seltsames Datenbankverhalten

Beitrag von Aliobaba »

Prima, wenn's Dir wieder gut geht :)

... das hab ich doch gemacht (?).
Die Where-abfrage wird als String kontinuierlich gebildet mit maximal 150 "SQL-or's" [blöder Ausdruck :( ] in dieser Zeile: (Weiß nicht, wie lange ein SQL-Statement sein darf: 150 geht!)

Code: Alles auswählen

AWhere := AWhere + ' OR rID=' + Form1.QText.FieldbyName('rID').AsString;

und dann wird damit hier:

Code: Alles auswählen

SQL.Text := 'UPDATE tText SET X5 = "5" ' + AWhere ;

die "5" eingetragen. (immer in 150-er Häppchen, falls nötig)

Der SQL-Befehl, mit dem diese Query ursprünglich entstanden ist, hat einen "Where-Anteil".
Ich möchte aber gerade diese entstandene Selektion dann weiterhin bearbeiten, indem ich nach verschiedenen Kriterien sortiere:
Also nach dem Alter der Generierung des Datensatzes und nach dem Zeitpunkt, wann eine Veränderung eines Datensatzes vorgenommen worden ist.
Für diese Sortierkriterien kann ich die ursprüngliche "Where-Anweisung" ja nicht mehr verwenden; diese sortiert nach Alphabet:

Code: Alles auswählen

Procedure TForm2.Selektion_Zeigen (aFlag : integer)// 0:Sortierung nach Namen 1: nach Alter 2: nach datum der Änderung

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Seltsames Datenbankverhalten

Beitrag von Aliobaba »

... die ursprüngliche "Where-Anweisung" entsteht teilweise recht kompliziert, gelegentlich mit "Join-Statements" bei n:m-Beziehungen.
Da bin ich froh, wenn ich das wenigstens 1-mal hinbekommen habe 8) :) und nur noch das "fertige Resultat" bearbeiten muss.
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Soner
Beiträge: 622
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Seltsames Datenbankverhalten

Beitrag von Soner »

Stimmt, bei Joins hat es keinen Sinn.
Bei einem Lernprogramm musste ich auch die Auswahl "merken", da habe ich eine Auswahltabelle verwendet. Das ist dann Flexibler und läuft schneller weil man in der Auswahltabelle immer weniger Datenzeilen hat.

Antworten