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

Accès aux données Discussion :

[ADO.Net][SQLServer]Comment former valeur SmallDateTime?


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut [ADO.Net][SQLServer]Comment former valeur SmallDateTime?
    Bonjour à tous,

    voila je suis en train de developper un application, dans laquelle j'ai besoin de faire des INSERT dans des tables SQLServer sur des champs date défini en tant que SmallDateTime.

    Je n'utilise pas de requete parametrer car j'ai une classe qui générique qui me permet de s'adapter quelque soit le SGBD.

    Du coup je me demande comment faire des INSERT dans ma table, en formattant mes dates pour qu'elle puisse s'adapter au format SmallDateTime et surtout les avoir au format "Francais" quel que soit la "Locale" du Serveur ?

    Merci par avance de votre aide

    B.

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Pour ta première question : Il me semblait que le passage de DateTime à SmallDateTime devait se faire sans souci non : Sinon, je suis tout de même surpris que tu te prives de l'utilisation des requêtes paramétrées pour justement rendre encore plus générique ton DAC.

    Pour ta seconde question : L'espace de noms System.Globalization offre la classe CultureInfo pour te permettre d'imposer les paramètres de culture de ton appli.
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Bonjour neguib, plus j'avance plus je me dis que je devrais optimiser m on DAL pour SQLServer. Car finallement je ne changerai pas de si tot !!!

    J'utilise bien la méthode culture, et je la force a Fr-fr (il me semble) mais le truc, est que si le serveur SQL Server est "Anglophone" il s'attendra a recevoir des dates sous la forme AAAAMMJJ Hors mon applic la formatera en JJMMAAAA d'ou le décalage Je pense qu'il va me jeter lors de l'insert car ma date ne sera pas dans le bon format

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [ADO.Net][SQLServer]Comment former valeur SmallDateTime?
    Citation Envoyé par brousaille
    ....et surtout les avoir au format "Francais" quel que soit la "Locale" du Serveur ?
    Ben faudrait savoir ce que tu veux là bonhomme
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Ce que je veux dire,

    c'est que en ce moment ma base SQLServer est sur un poste "Francophone" donc je fais mes inserts en base en consequence. Maintenant demain si ma base est hébergé sur un poste "Anglophone" il va falloir que je repasse derriere toute mes requetes SQL ????

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Et comment se fait-il que ton DAC ne détecte pas le CurrentCultureInfo :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Membre du Club Avatar de Manralf
    Inscrit en
    Août 2005
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 43
    Points : 48
    Points
    48
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Maintenant demain si ma base est hébergé sur un poste "Anglophone" il va falloir que je repasse derriere toute mes requetes SQL ????
    Oui !! Donc ta classe générique devrait pouvoir gérer les requêtes paramétrées.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par neguib
    Et comment se fait-il que ton DAC ne détecte pas le CurrentCultureInfo :
    Bah mon DAC lui il a une méthode executeQuery() qui prend en prm une requete SQL !!! Il est complétement indépendant du CultureInfo. Mais finallement le DAC est peut etre mal codé ou pas assez optimisé. Je l'ai récupéré ici : Code Source C'est un DataAccessGeneric.

    Oui !! Donc ta classe générique devrait pouvoir gérer les requêtes paramétrées.
    J'en ai trouvé un autre qui prend des requetes parametrés, cf : BinaryIntellect DatabaseHelper

    mais sauf qu'on ne peut pas parametré le type comme on le fait avec SQLType.type.

    Finallement aucun des deux ne fonctionne pour mon cas ?

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    J'avoue que j'ai un peu de mal à cerner comment tu as développé ton DAC.
    Car si tu arrivais jusqu'ici à faire du générique c'est que tu passais par des interfaces IDbCommand ou IDbConnection donc en conséquence idem pour le ParametersCollection, il te faut passer par IDataParameterCollection, IDbDataParameter, IDataParameter.DbType.
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Bah le truc c'est que je ne l'ai pas développé !!!
    Si tu as le courage, tu peux télécharger le code source ici http://www.bewise.fr/download/articl...eArticle31.zip, c'est juste une classe ( je comprendrais que tu le fasses pas ).

    Je vais regarder ca de plus pres alors, car j'avoue que pour le moment j'ai du mal à affiner d'avantage la discussion

    J'ai télécharger ce code pour eviter d'avoir a l'écrire mais finallement il me manque plein de chose ..... (parametres, transaction etc etc)

  11. #11
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Merci neguib

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Mais juste pour m'éclairer.

    Si mon SQLServer est hebergé sur un serveur US il attendra un date au format YYYYMMDD.
    Si il est sur un serveur Francais il attendra une date au format DDMMYYYY.

    Imaginons que j'ai commencer a faire tourné mon application sur un serveur francais. Mes requetes seront de la sorte :
    INSERT INTO TABLE (MADATE) values (#31/12/2005#).
    Maintenant si je déplace mon SQLServeur au US. Ma requete ne fonctionnera donc plus du tout ??

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Bon ok, je viens de voir que le format UNIVERSEL sql est le format US.
    Donc je vais mettre cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="fr-FR"/>
    dans mon web.config.

    Et je ne devrais plus avoir de probleme !!!

    Merci de votre aide en tout cas

  15. #15
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par brousaille
    Bon ok, je viens de voir que le format UNIVERSEL sql est le format US.
    Donc je vais mettre cette ligne
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" cultture="fr-FR"/>

    dans mon web.config.
    Et je ne devrais plus avoir de probleme !!!
    Merci de votre aide en tout cas
    C'est maintenant que tu nous dis que c'était une application Web gredin Si tu l'avais dis plus tôt j'aurais pu te le suggérer dès ma première réponse et aurais apparemment gagné du temps
    Penses bien les prochaines fois à mieux décrire ta dev en cours en commençant par le commencement <-- toi
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Oui je meritte mes 10 coups de fouets !!!!
    Pardon ............ je ne recomencerais pas

    Merci pour tout meme pour les coups !!!

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

Discussions similaires

  1. [ADO.Net][C#] Comment utiliser Mysql ?
    Par soltani.slim dans le forum Accès aux données
    Réponses: 13
    Dernier message: 31/08/2006, 12h57
  2. [ADO.NET][C#]Comment forcer Fill correct de DataSet typé ?
    Par Manralf dans le forum Accès aux données
    Réponses: 23
    Dernier message: 21/02/2006, 09h50
  3. [ADO.Net][C#] Comment recupérer infos DataRowState.Deleted ?
    Par titoux_fr dans le forum Accès aux données
    Réponses: 2
    Dernier message: 10/02/2006, 11h41
  4. [ADO.Net][C#] Comment récupérer 1 valeur du BindingContext ?
    Par yann_DZ dans le forum Accès aux données
    Réponses: 2
    Dernier message: 24/01/2006, 21h56
  5. [ADO.Net][C#] Comment récupérer des infos d'une table SQL ?
    Par lamojuli dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/01/2006, 16h00

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