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 :

recuperer le DateTime.Now.ToString


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut recuperer le DateTime.Now.ToString
    j'ai un grand probleme ,ma requete select accepte uniquement le format DateTime.Now.ToString(" MM/dd/yyyy ") je veux changer de format par celui-ci mais mon sql server ne reconnais pas ce format français
    (" dd/MM/yyyy ")
    voici ma requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string currentDate = DateTime.Now.ToString("   MM/dd/yyyy  ");
        string currentheure = DateTime.Now.ToString("T");
     
     
    string Requete = " INSERT INTO Message_client( id_client,objet,date_reception,heurenvoi,etat,message,id_destinataire ) VALUES (  '" + User.Identity.Name + "','" + textobjet.Text + "' , '" + currentDate + "' ,'" + currentheure + "'  ,'0' , '" + textmsg.Text + "','" + dropdest.SelectedItem.Value + "' )";
    Merci de m'aider j'en ai vraiment besoin

  2. #2
    Membre confirmé Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    ****Voila la solution dans SQL Server on ne peux pas changer de format mais dans dateetime.now oui alors pour faire un affichage avec le format que j'ai voulu vous mettez DataFormatString="{0:dd/MM/yyyy}" dans un data grid*****

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ne mets pas les valeurs en dur dans la requête, utilise plutôt des paramètres. Comme ça tu n'auras pas à te préoccuper du format dans lequel la date est transmise à la base. Et accessoirement, ça te protège contre les attaques par injection SQL...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string Requete = " INSERT INTO une_table(une_colonne_nombre, une_colonne_date) VALUES (@valeur_nombre, @valeur_date)";
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = Requete;
    cmd.Parameters.Add("@valeur_nombre", SqlDbType.Int).Value = 123;
    cmd.Parameters.Add("@valeur_date", SqlDbType.DateTime).Value = DateTime.Now;

  4. #4
    Membre confirmé Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    comment est ce que avec une requete parametrée je ne vais pas me soucier du format?? l'insertion c'est la meme juste la securité qui change mais mon probleme reste toujour le meme car le format par default datetime.now n'est pas accepté...Non
    si j'utilse les requetes parametrées j'aurais toujours une erreur coté serveur car le format est toujours comme une requete simple Non.

  5. #5
    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 akli2008 Voir le message
    comment est ce que avec une requete parametrée je ne vais pas me soucier du format?? l'insertion c'est la meme juste la securité qui change mais mon probleme reste toujour le meme car le format par default datetime.now n'est pas accepté...Non
    si j'utilse les requetes parametrées j'aurais toujours une erreur coté serveur car le format est toujours comme une requete simple Non.
    Ben non justement... C'est l'intérêt des paramètres SQL.
    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

  6. #6
    Membre confirmé Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    Franchement je n'arrive pas à comprendre comment le faite de faire des parametres resoud ce probleme,sachant que dans ma table la colonne date_reception est en Datetime??

  7. #7
    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
    Expliqué ici dans la deuxième partie : http://johannblais.developpez.com/tu...acces-donnees/
    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

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par akli2008 Voir le message
    Franchement je n'arrive pas à comprendre comment le faite de faire des parametres resoud ce probleme,sachant que dans ma table la colonne date_reception est en Datetime??
    Quand tu utilises des paramètres, au lieu de transmettre les valeurs sous forme de chaîne (dépendente de la culture du serveur), elle sont transmises au serveur sous une forme "absolue", indépendante de la culture.

    Essaie avant de dire que ça ne peut pas marcher

    Et lit l'article de SaumonAgile, il explique ça très bien (de rien pour les fleurs :mouarf)

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

Discussions similaires

  1. [AC-2007] Requete avec Datetime.now
    Par amartik dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/01/2010, 14h03
  2. 2H de Retard avec la fonction DATETIME("now") ?
    Par mak972 dans le forum SQLite
    Réponses: 6
    Dernier message: 29/08/2009, 12h20
  3. use Time::Local; Datetime(now)
    Par ecureuilmasque dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2009, 11h06
  4. DateTime Now arrondi
    Par Papy214 dans le forum C#
    Réponses: 2
    Dernier message: 27/10/2008, 14h48

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