Dans ma base de données, j'ai sous forme DateTime deux champs, un pour mon début d'activité et un pour ma fin d'activité.

J'aimerais faire une procédure stockées qui me vérifie si lors de ma saisie suivante dans mon application si je n'ai pas deja inscrit dans la date sélectionnée une activité...

pour cela,j'utilise une procédure stockée qui me compte le nombre de lignes ou il y a deja une activité dans la période sélectionnée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE PROCEDURE [ps_verif_Activite] 
 
@DateDebut datetime,
@DateFin datetime,
@RefCollaborateur int
AS 
BEGIN 
 
SET @DateDebut = DATEADD(mi,1,@DateDebut)
SET @DateFin = DATEADD(mi,-1,@DateFin)
 
SELECT COUNT(DateDebut)  FROM Activite
      WHERE DateDebut BETWEEN @DateDebut AND @DateFin
        OR    DateFin BETWEEN @DateDebut AND @DateFin 
    AND RefCollaborateur = @RefCollaborateur
END
GO
Je suis en train de tester mon application et je me rends compte que lorsque j'ai une activité qui est sur plusieurs jours, si je veux insérer une activité le dernier jour de mon activité dans une tranche qui est deja prise, il me retourne aucune ligne donc il considère qu'il n'existe pas d'activité dans cette tranche alors qu'il en existe...
Comment pourrais je optimiser ce code ?