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

C# Discussion :

Conversion d'un DateTime au format SQL


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jerome.fortias
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 164
    Par défaut Conversion d'un DateTime au format SQL
    Bonjour à tous

    j'aimerais savoir comment générer une data pour un slqCommand qui soit converti correctement au format SQL quelques soit le format de date de SQL ?

    En vous remerciant

    Jérôme

    PS : en fait je recherche l'équivalent en C# de CONVERT (datetime, " & ddatefin & ", 102) en SQL

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    J'ai pas tout compris.
    En c# pour jouer avec les dates il existe l'objet DateTime.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    format() existe en vb ... peut etre aussi en c#

    sinon le mieux est déviter de réfléchir
    il faut utililser un sql parameter
    tu lui donne ta date, tu le met dans ta requete et il se débrouillé avec sql server ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre confirmé Avatar de jerome.fortias
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 164
    Par défaut
    Ced Je construit une command SQL
    Dans cette commande qui est un string j'ai par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string insertSQLCmd = @"insert into matable (monchampsdate, montexte) values ('[DATE]','[TEXTE]')";
    Puis je remplace je construits mon object DateTime

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime todayDate = DateTime.Now ;
    Maintenant je veux remplacer mon texte [DATE] par la date au format du serveur SQL et ce quelque soit le format supporté par SQL Serveur. Donc je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insertSQLCmd = insertSQLCmd.Replace("[DATE]", "<LEBORDELQUEJETROUVEPASQUICORRESPONDANTAAUJOURDHUI>");
    Donc comment puis je généré une chaine de caractère depuis une date avec un format adapté à ma DB SQL....?

    Suis je plus clair là ?

    todayDate.ToString("ddMMyyyy"); n'est pas ce que je cherche...bien sur.

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    moi je vous dit d'utiliser des sql parameters
    ca vous donnerait "insert into table values (@date , @machaine)
    avec new sqlparameter(@date,madate) et pareil pour le string

    pour les date ca marche à coup sur, peu importe les parametres du serveur
    et pour les chaine de caractère ca evite d'avoir des problèmes avec les apostrophes
    et ca evite les blague du genre quand un utilisateur doit saisir un texte et qu'il saisie
    '' DELETE * FROM table
    qui avec votre technique peut faire des choses inattendues (faille connue)


    il y a des tuto sur developpez.com
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    C'est plus clair maintenant
    J'ai pas testé mais peut être que ceci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateTimeConverter converter = new DateTimeConverter();
    object DateSQL = converter.ConvertTo(DateTime.Now, SqlDbType.DateTime);
    Enfin bref du coté de DateTimeConverter il devrait y avoir la solution.

  7. #7
    Membre confirmé Avatar de jerome.fortias
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 164
    Par défaut
    Qué bourricot. Et comme disait un de mes instructeurs plongeurs y'a 15 ans de cela "avec un bourricot on ne fait pas un cheval de course...LOL ;-)

    Bon je vais tester la solution de CED d'abord et sinon je ferais le bourricot

    Merci à vous deux

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

Discussions similaires

  1. [AC-2007] Conversion date heure Access au format BigInt SQL Server 2008
    Par PapouDomi dans le forum Access
    Réponses: 2
    Dernier message: 24/06/2015, 12h26
  2. [2008] Conversion d'une date au format datetime
    Par kluh dans le forum Développement
    Réponses: 6
    Dernier message: 02/06/2015, 22h06
  3. [T-SQL] Conversion double en datetime
    Par Herlece dans le forum Développement
    Réponses: 1
    Dernier message: 16/07/2012, 15h19
  4. conversion de date au format SQL
    Par pierre2410 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/06/2007, 15h37
  5. Date conversion format sql
    Par nikoo_27 dans le forum Langage
    Réponses: 4
    Dernier message: 07/11/2006, 12h31

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