Ich denke die Methode von Markus sieht ganz gut aus und funktioniert zumindest via
MySQL-Control-Center wunderbar.
Delphi-Quellcode:
begin
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM buchungen';
Query1.Sql.Add ('WHERE ((BuchungStart BETWEEN :NeueBuchungStart and :NeueBuchungEnd)');
Query1.Sql.Add ('OR (BuchungEnd BETWEEN :NeueBuchungStart and :NeueBuchungEnd))';
Query1.Sql.Add ('AND (raum_id=:raum_id) AND (buchungs_id <> :buchungs_id)');
Query1.ParamByName ('NeueBuchungStart').AsDateTime := start;
Query1.ParamByName ('NeueBuchungEnde').AsDateTime := ende;
Query1.ParamByName ('raum_id').AsInteger := raum_id;
Query1.ParamByName ('buchungs_id').AsInteger := buchungs_id;
Open;
end;
raum_id ist die ID des Raumes den ich buchen möchte.
buchungs_id brauche ich um, bei einer änderung der Buchung, nicht die eigene zu finden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"