Intervale des dates

strahlernabil Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
strahlernabil Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai besoin d'un algorithme qui me vérifier l'existence ou non d'1 intervalle des dates (date début - date fin) dans une base SQL serveur merci.

2 réponses

Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
Bonjour,
"Vérifier l'existence d'un intervalle de dates"...
Qu'est-ce que ça veut dire ?

0
strahlernabil Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci c'est déjà fait, il s'agit une requêtes sql pour vérifier si 2dates existent dans un intervalle, c'est pour un logiciel de gestion des véhicules exemple j'ai une véhicule assurée entre 01/01/2012 et 01/01/2013 si l'utilisateur veut ajouter une autre assurance et tape date debut 03/11/2012 et date fin 01/01/2014 alors le logiciel doit l'avertir qu'il ya une intersection des intervalles ici de 3/11/2012 à 1/1/2013 pour cette période le véhicule est déjà assuré aussi le cas des modification et si on a plusieurs dates
bon pour cela j'ai fait 2 requêtes par programmation c#
rq = "SELECT COUNT(ID_Assurance) as Nbr " +
"FROM Assurance " +
"WHERE (ID_Vehicule = '" + class_assurance.ID_Vehicule + "') AND " +
"(Date_Debut <= '" + Assurance_DateDebut.Value.ToString("MM/dd/yyyy") + "') AND (Date_Fin >= '" + Assurance_DateDebut.Value.ToString("MM/dd/yyyy") + "')";

rq2 = "SELECT COUNT(ID_Assurance) as Nbr " +
"FROM Assurance " +
"WHERE (ID_Vehicule = '" + class_assurance.ID_Vehicule + "') AND ('" + Assurance_DateFin.Value.ToString("MM/dd/yyyy") + "' > " +
"(SELECT MIN(Date_Debut) as Min FROM Assurance WHERE (ID_Vehicule = '" + class_assurance.ID_Vehicule + "') AND " +
"(Date_Debut >= '" + Assurance_DateDebut.Value.ToString("MM/dd/yyyy") + "')))";

if (class_assurance.Existe_Membre(rq) || class_assurance.Existe_Membre(rq2))
{
MessageBox.Show("Vous devez vérifier la date d'assurance. Le véhicule choisi est déjà assuré pour cette période.", "ATTENTION!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Assurance_DateDebut.Focus();
return;
}
merci pour le feedback
0