Seltsames Datenbankverhalten

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

Re: Seltsames Datenbankverhalten

Beitragvon Aliobaba » 18. Jan 2018, 10:33 Re: Seltsames Datenbankverhalten

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
Mein Lazarus-Lieblingsprojekt: "MyMemoryDB" ( http://www.mymemorydb.n-bay.de/ )
Aliobaba
 
Beiträge: 317
Registriert: 1. Mai 2012, 08:11

Beitragvon Aliobaba » 18. Jan 2018, 10:45 Re: Seltsames Datenbankverhalten

... 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.
Mein Lazarus-Lieblingsprojekt: "MyMemoryDB" ( http://www.mymemorydb.n-bay.de/ )
Aliobaba
 
Beiträge: 317
Registriert: 1. Mai 2012, 08:11

Beitragvon Soner » 20. Jan 2018, 15:44 Re: Seltsames Datenbankverhalten

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.
Soner
 
Beiträge: 396
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

• Themenende •
Vorherige

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried