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

  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)

  9. #9
    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
    Merci,je comprend maintenant..mais comment ses parametres facilitent à ce point les choses,est ce que en utilisant les requetes parametrées le systeme et le serveur sql s'entendent mieux?désolé pour la maniere de poser cette question,et en plus peut on faire des requetes parametrées dans une procedure stoquée car celle-ci utilise des parametres du genre @parametre varchar(20) AS....

  10. #10
    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
    est ce que en utilisant les requetes parametrées le systeme et le serveur sql s'entendent mieux?
    Effectivement ça évite les problèmes de compréhension...

    Citation Envoyé par akli2008 Voir le message
    et en plus peut on faire des requetes parametrées dans une procedure stoquée car celle-ci utilise des parametres du genre @parametre varchar(20) AS....
    Oui, bien sûr, c'est le même principe

  11. #11
    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
    Je vous remercie enormement pour le travail que vous faites,maintenant si c'est possible de me donner un exemple réel d'injection sql et est ce que une injection peut se faire avec n'importe qu'elle requete "SELECT,INSERT,UPDATE,DELETE ?...un exemple concret serai le bien venu.
    comment peut on expliquer qu'une injection fonctionne dans une requete simple et ne fonctionne pas dans une requete parametrée?.
    Est ce que le Sqldatasource utlise les requetes parametrées sachant qu'il utilse Selectparameters..Merci d'avoir patienter à mes questions.

  12. #12
    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
    http://fr.wikipedia.org/wiki/Injection_SQL

    Et oui, SqlDataSource peut utiliser des requêtes paramétrées
    http://msdn.microsoft.com/fr-fr/library/xt50s8kz.aspx

  13. #13
    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
    Merci et encore Merci .on met donc Resolu.

+ 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