Comparer une date

Signaler
Messages postés
52
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
26 juin 2008
-
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
-
salut,
je suis entrein de préparer un web service de réservation dans un hotel.(avec Visual Studio 2005)
j'ai une table T_PERIODE_HOTEL(#Num_HOT, #Num_PER, Dat_deb_PER_HOT, Dat_fin_PER_HOT)



Dat_deb_PER_HOT et Dat_fin_PER_HOT sont de type datetime (de SQL SERVER 2005).



> je veux séléctionner la date de fin d'une periode de l'hotel numéro 1qui a comme date de debut de la periode "date_deb_per "
voici mon code:

public
String dispo_hotel(DateTime date_deb_per)
{
     ...... // connection         string strQuery "select Dat_fin_PER_HOT from T_PERIODE_HOTEL where sa_Num_HOT 1 and      Dat_deb_PER_HOT <=  '" + date_deb_per + "'";
         connexion.ConnectionString = connectString;
         System.Data.SqlClient.SqlCommand oCommand = new System.Data.SqlClient.SqlCommand(strQuery,  connexion);    
      connexion.Open();
         System.Data.SqlClient.SqlDataReader oReader = oCommand.ExecuteReader();
         string j = "";
         while (oReader.Read())
        {
                  if (oReader[0].ToString() != null)

                         j = (String)oReader[0].ToString();
        }
        oReader.Close();
        connexion.Close();
        return j;
}

ce code m'affiche une erreur "System.ArgumentException: Impossible de convertir 15/07/2008 en System.DateTime."  si  date_deb_per= 15/07/2008
et il m'affiche "System.ArgumentException: Impossible de convertir 15/07/2008 00:00:00 en System.DateTime." si  date_deb_per15/07/2008 00:00:00 > ces erreurs sont affiché au niveau du web service
(aprés dans ma web form  date_deb_per sera de type string que je la convertie en datetime pour faire la comparaison)
est ce qu'il ya quelqu'un qui peut m'aider, merci

merci pour codes-sources

1 réponse

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
alors déjà les datetime sont comparable entre eux sans avoir a passer par des strings (ce qui est d'ailleurs plus fiable car selon le format et la culture utilisés lors du ToString, tu risque d'avoir une comparaison foireuse).
Sinon pour tes conversion, tu ne peux pas faire un cast d'une string en datetime. tu dois utiliser datetime.parse (avec les arguments qui vont bien)