2 réponses
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
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