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 :

ADO + DATETIME


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut ADO + DATETIME
    je sollicite vos aide
    lors du debogage de mon site
    j'ai l'erreur suivant:

    System.Data.SqlClient.SqlException: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
    The statement has been terminated.
    à System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    à System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
    à System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    à System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    à System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
    à System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    à System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    à client_pages_achat.b_valider_Click(Object sender, EventArgs e) dans c:\Documents and Settings\Administrateur\Bureau\stage\WebSite10\client_pages\avt_titre.aspx.cs:ligne 101INSERT INTO ordre_avt_titre(id_ordre,id_titre,libelle,quantite,prix_u,date_debut,date_fin,progression,id_compte_deb,id_agence_deb,id_banque_deb,id_compte_cre,id_agence_cre,id_banque_cre) VALUES ('343', '344', 'hello','1','300','06/07/2009 00:00:00','16/07/2009 00:00:00','en cours','1','2334','1','1','2334','1');
    je pense qu le probleme consiste dans l'ecriture de la requete


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string reqSQL = "INSERT INTO ordre_avt_titre(id_ordre,id_titre,libelle,quantite,prix_u,date_debut,date_fin,progression,id_compte_deb,id_agence_deb,id_banque_deb,id_compte_cre,id_agence_cre,id_banque_cre) VALUES	('" + ord.Oid_ordre + "', '" + ord.O2id_titre + "', '" + ord.O2libelle + "','" + ord.O2quantite + "','" + ord.O2prix_u + "','"+ ord.Odate_debut  +"','" + ord.Odate_fin + "','" + ord.Oprogression + "','" + ord.Oid_compte_deb + "','" + ord.Oid_agence_deb + "','" + ord.Oid_banque_deb + "','" + ord.Oid_compte_cre + "','" + ord.Oid_agence_cre + "','" + ord.Oid_banque_cre + "');";

    je ne trouve pas l'erreur alors je sollicite vos aide

    merci

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Et en ajoutant ceci en début de requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET DATEFORMAT dmy;

  3. #3
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Je dirais plutôt que tu devrais mettre tes dates au format ISO (YYYY-MM-dd) ou également au format (YYYYMMdd)


    don tu devrais faire dans ta requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ord.Odate_debut.ToString("YYYYMMdd")

    Également pour éviter ce genre de problèmes, utilise les paramètres

  4. #4
    Membre éprouvé
    Inscrit en
    Décembre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Décembre 2003
    Messages : 108
    Par défaut
    si tu utilise SQLServer je te conseille d'utiliser le type smalldatetime qui est mappé sous .net directement avec DateTime,ca t'évitera d'avoir à convertir avant d'inserer ou de récuperer tes données

  5. #5
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    Merci pour vos aide
    la date est stockée dans ma base sous forme "2009-07-02 00:00:00.000"
    de plus ord.date_debut est de type datetime
    je pense que le type datetime du SGBD est different de celui du framework

Discussions similaires

  1. [BCB6] Champ DateTime sous FireBird via ADO
    Par Seb des Monts dans le forum C++Builder
    Réponses: 1
    Dernier message: 15/12/2009, 00h18
  2. datetime query ado datetimetostr
    Par ouiouioui dans le forum Bases de données
    Réponses: 7
    Dernier message: 29/06/2009, 11h27
  3. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  4. [ADO.Net][VB.Net]Comment obtenir DateTime via FieldName?
    Par RiiiDD dans le forum Accès aux données
    Réponses: 2
    Dernier message: 29/03/2006, 13h19
  5. [MFC] ADO connection
    Par philippe V dans le forum MFC
    Réponses: 3
    Dernier message: 10/06/2002, 07h36

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