Intervale des dates

Fermé
strahlernabil Messages postés 8 Date d'inscription samedi 10 novembre 2012 Statut Membre Dernière intervention 5 janvier 2013 - 13 nov. 2012 à 16:12
strahlernabil Messages postés 8 Date d'inscription samedi 10 novembre 2012 Statut Membre Dernière intervention 5 janvier 2013 - 14 nov. 2012 à 13:21
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 jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
14 nov. 2012 à 09:52
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 samedi 10 novembre 2012 Statut Membre Dernière intervention 5 janvier 2013
Modifié par strahlernabil le 14/11/2012 à 13:30
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