IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Datetime c# imcompatible avec Datetime SQL server [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Par défaut Datetime c# imcompatible avec Datetime SQL server
    Bonjour,

    Je suis entrain de développer une application web asp.net C#, qui utilise les données d'une BDD SQL server. Cette application doit calculer un indicateur de performance à partir des durées des incidents. Donc en saisissant une date début "TextBoxDD" et date Fin "TextBoxDF" de la période d'observation, je dois parcourir la table incident pour en extraire toutes les durées comprise entre ces deux dates. Mais la date saisie donc de type "DateTime C# 7/7/2009 1:30:00 AM " et la date sauvegardée dans la base donc de type 'SQLserver DateTime 2009-07-14 1:30:00.000 ' sont incompatibles.
    L'erreur affichée est la suivante:

    La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites.
    Et voilà mon Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     DateTime Date1 = DateTime.Parse(TextBoxDD.Text);
      DateTime Date2 = DateTime.Parse(TextBoxDF.Text);
            string cmdstr = "select DUREE from INCIDENT where DEB_INC >= " + Date1
                + " and FIN_INC <= " + Date2
                + "' and NAT_IMP = 'Indisponibilité' and ORIGINE = '"
                + DropDownListType.SelectedItem.Value + "' and SRV_IMP like '%" + DropDownListSrv.SelectedItem.Value + "%'";
            SqlCommand selectcmd = new SqlCommand(cmdstr, con1);
            LabelResultat.Text = cmdstr;
     
         SqlDataReader oDataReader;
         oDataReader = selectcmd.ExecuteReader();
        oDataReader.Read();
    J'ai cherché sur google comment faire la conversion mais tout ce que j'ai trouvé ne marche pas . Est-ce que quelqu'un peut m'aider?
    Et Merci d'avance.

  2. #2
    Membre averti
    Femme Profil pro
    Analyste Programmeur
    Inscrit en
    Mai 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Mai 2011
    Messages : 45
    Par défaut
    Bonjour,

    C'est toi qui saisi manuellement la date ?

    As-tu essayé un Convert.ToDateTime("maChaine") au lieu du Parse ?

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Il faut utiliser les requêtes SQL paramétrées. C'est plus propre, et ça évite les problèmes de type attaque par injection de code SQL...

    De plus, cela convertira automatiquement ta date dans le bon format, ce qui évite de perdre du temps sur ce genre de sujet.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Par défaut
    Merciii Matt07 ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Précision datetime sur fournisseur OleDb dans SQL Server
    Par VITALTH dans le forum Accès aux données
    Réponses: 2
    Dernier message: 18/12/2014, 19h16
  2. Problème Connection Jbuilder avec MS SQL Server 2000
    Par kchami77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 23h29
  3. Rafraichissement des données avec ADOConnection -SQL Server
    Par newfsch dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/01/2006, 21h48
  4. probelem avec instance SQL server 2000
    Par timsah dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/12/2005, 12h13
  5. INSUFFICIENT MEMORY avec MS SQL SERVER 7
    Par AODRENN dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/10/2005, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo