überschneidendung vermeiden

royalboy

Mitglied
Hallo Zusammen

Ich entwickle zur Zeit eine Zeiterfassungsapplikation. Wie kann man verhindern, überschneidende(d.h. für 2 Aufträge gleichzeitiges Arbeiten) Zeiten zu erfasssen?

Wie kann ich überprüfen ob bestimmete Wert schon existieren, resp. im DB gespeichert sind?


Dazu habe ich dieses Stored Procedure erstellet:

PHP:
ALTER PROCEDURE ueberschneidungen 
@Datum datetime,
@BeginnZeitneu datetime,
@EndZeitneu datetime 

AS

SELECT  *
FROM   Zeit
where (@Datum = Datum)  AND ((@BeginnZeitneu < EndZeit)AND (@EndZeitneu < BeginnZeit))
Also, wenn ich diesen SP im Sql server ausführe, erhalte den gewünschten Resultat, aber wenn ich diesen SP, in meiner Anwendung integriere, erhalte ich den wert 0. Kann mir da jemand weiterhelfen?

danke
 
Zuletzt bearbeitet:
Da ist ein Fehler drin.

Na, findest du, was ich umgestellt habe? :)

PHP:
ALTER PROCEDURE ueberschneidungen 
@Datum datetime, 
@BeginnZeitneu datetime, 
@EndZeitneu datetime 

AS 

SELECT  * 
FROM   Zeit 
where (@Datum = Datum)  AND ((@BeginnZeitneu < EndZeit)AND (@EndZeitneu > BeginnZeit))
(das zweite < muss ein > sein", dann sollte es gehen)
 
Aber ersagt doch das, dass das Statement ansich funktioniert. Vielleicht hat der User, den Du in der Applikation benutzt nicht die notwendigen Rechte auf die Tabellen?
 
Zurück