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 :

Changement d'un type : varchar(max) -> datetime


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut Changement d'un type : varchar(max) -> datetime
    Bonjour, j'avais une erreur de type dans ma base de données :

    un varchar(max) au lieu d'un datetime ce qui posait des problème de sorting sur ma gridview.

    Bref, je change et aucun soucis sur ma gridview en tout cas en local. Quand je déploie sur le site web, je n'ai pas le même résultat.


    Pour chaque ligne de la gridview, je remplis des colonnes en fin de ligne à l'aide d'une requête qui utilise ce champ datetime. Pourquoi le changement ne pose aucun soucis en local mais foire au niveau web ?

    merci de votre aide !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      for (int i = 0; i < Rowsnumber; i++) /// for each row
                {
                    /// Thanks to the Creation Date of the group we will know
                    CreationDate = (((Label)GridView1.Rows[i].FindControl("Label1")).Text);
     
                    /// number of Outstandings
                    SqlCommand oCommand = new SqlCommand("SELECT Count(*) as co FROM RequestGroup, Request WHERE RequestGroup.CreateTime='" + CreationDate + "' AND Request.GroupId=RequestGroup.RequestGroupId AND Request.Status='Outstanding' GROUP BY RequestGroup.RequestGroupId", mycn);
     
                    SqlDataReader myda = oCommand.ExecuteReader();

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    C'est quoi le message d'erreur?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    Différente culture au niveau de ta DB ?

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    Au niveau du site web oui, c'est en anglais. Mais pourtant les champs ont la même valeur.

    Je n'ai pas d'erreur, le count(*) renvoit 0 ce qui démontre un pb du au type.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    Quelqu'un a une idée, si je peux forcer la culture quelque part ou le format de datetime dans sql server express ?

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Requête paramétrée et y a pas de problème de culture

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    J'aimerai éviter de toucher au code. Sachant que cela fonctionne sous ma bécanne française. Mais foire sur le serveur Anglais.

  8. #8
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par FamiDoo Voir le message
    J'aimerai éviter de toucher au code.
    Ah, et comment tu veux faire alors?

  9. #9
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    Je cherche à savoir pourquoi ça fonctionne en local mais pas quand je déploie sur le serveur.

  10. #10
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Parce que la culture de la machine est différente. La raison est que ton code est incorrect. Une date, c'est une date, c'est pas une chaine de caractère.

    Pour passer des dates à la base de données, tu dois utiliser des paramètres SQL : http://johannblais.developpez.com/tu...acces-donnees/
    Ton problème est exactement l'exemple que j'utilise dans l'article pour illustrer les erreurs classiques de développement.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  11. #11
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    OK mais je peux régler la culture de la BDD pour corriger le pb non ?

  12. #12
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par FamiDoo Voir le message
    OK mais je peux régler la culture de la BDD pour corriger le pb non ?
    Si tu tiens tant que ça à continuer à coder salement...
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  13. #13
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    C'est vrai que quand j'ai découvert les requêtes paramétrées, j'ai trouvé ça génial.

Discussions similaires

  1. Erreur de conversion de type, varchar vers datetime
    Par Marc_3 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/06/2012, 21h46
  2. Changement de type varchar en char
    Par omariovich dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2008, 20h50
  3. Modifier le type varchar en DateTime
    Par paradeofphp dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/02/2008, 12h22
  4. soucis avec MAX(variable de type varchar)
    Par littledoudou dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/04/2006, 19h07
  5. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46

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