Ich möchte gerne zwischen zwei Programmstarts feststellen, ob sich am Inhalt einer Datenbank-Spalte etwas geändert hat.
Alle Spalteninhalte werden in einen String geschrieben (hier: "mmm") und von diesem String dann ein MD5-Hash gebildet und dieser dann gespeichert und verglichen mit vorangegangen gleichen Aktionen.
Bisher habe ich das immer so gemacht, dass ich Zeile für Zeile der Datenbank durchgegangen bin und die entsprechenden Spalteninhalte in einen String geschrieben habe.
Nun habe ich den SQL-Befehl
"SELECT GROUP_CONCAT(CTitelB, ", " ) FROM MyPL) Where PLId = '+ sss "
entdeckt, der diese Aufgabe recht elegant übernimmt.
Allerdings muss ich das Ergebnis der "Select"-Abfrage erst in eine andere DB-Spalte per "update" eintragen, um an das Ergebnis dieser Select-Abfrage zu kommen.
Gibt es eine Möglichkeit, den Inhalt dieser oben aufgeführten Select-Abfrage direkt in eine String-Variable zu übertragen?
Schönen Sonntag!
Aliobaba
Code: Alles auswählen
procedure TF_TSV.Button1Click(Sender: TObject);
var
sss , mmm : string;
begin
Ffufe.DB_Alle_zeigen_Sort_Titel_Fundus_2_Liste;
if Ffufe.ZQueryFundus2.RecordCount = 0 then exit;
Ffufe.ZQueryFundus2.First;
sss := Ffufe.ZQueryFundus2.FieldByName('PLId').AsString;
Form_Start.ZConneu.ExecuteDirect( 'UPDATE MyPL SET Cyyy2 = (SELECT GROUP_CONCAT(CTitelB, ", " ) FROM MyPL) Where PLId = '+ sss ) ;
Ffufe.ZQueryFundus2.Refresh;
mmm := Ffufe.ZQueryFundus2.FieldByName('Cyyy2').AsString ;
Showmessage(mmm);
end;