Inserer une date au format français dans un serveur Anglais [Résolu]

Messages postés
7
Date d'inscription
vendredi 8 mars 2002
Dernière intervention
2 février 2006
- - Dernière réponse : ricodeluxe91
Messages postés
7
Date d'inscription
vendredi 8 mars 2002
Dernière intervention
2 février 2006
- 10 oct. 2005 à 12:29
Bonjour à tous,
J'ai un petit souci au niveau de la date! Je pense que je suis pas le seul.

J'ai un serveur SQL en anglais, le problème c'est des que je veux faire un INSERT INTO dans ma base le serveur convertit automatiquement ma date FR en Anglais, portant, je lui envoi bien ma date en FR JJ/MM/AAAA

Qui a une solution !!!

J'ai essayé de faire une recherche sur le forum, mais je crois qu'il a un petit problème.

Merci.

DOF
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
192
Date d'inscription
dimanche 5 janvier 2003
Dernière intervention
9 mars 2007
3
Merci
Bonjour,



Je ne suis pas certain d'avoir bien compris ton problème... mais voilà mes réponses :


Un serveur SQL ne stocke pas une date sous la forme JJ/MM/AAAA ou
MM/JJ/AAAA ou n'importe quel autre format, mais sous la forme d'un
nombre. Sous SqlServeur, il me semble que c'est un float et qu'il
représente le nombre de millisecondes écoulées depuis le 1er janvier
1900 (à confirmer).



Ensuite, c'est quand tu installes ton serveur que tu précises comment
tu veux que ton serveur interprète et affiche les chaines de caractères
qui représentent une date. Si tu lui dis que c'est 'MM/JJ/AAAA', il
faut toujours lui donner des chaînes du bon format.



Si tu construis tes requêtes en concaténant des chaînes de caractères,
il n'y a pas de solution, tu dois bien construire ta date. Tu peux
éventuellement pour t'aider à construire ta date voir quel format de
date et utilisé sur ton serveur IIS et sur ton serveur SQL… bref la
galère.



La solution, c'est d'utiliser les objets "command" et "parameter". Regarde le bout de code suivant :



Dim voConnection As SqlConnection

Dim voCommand As SqlCommand

Dim voParaDate As SqlParameter



voConnection = New
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("moConn.ConnectionString"))



voConnection.Open()



voCommand = New
SqlCommand("insert into t_test (tst_d_date) values (@pDate)",
voConnection)



voParaDate = voCommand.Parameters.Add("@pDate", SqlDbType.DateTime)

voParaDate.Value = DateTime.Today



voCommand.ExecuteNonQuery()



voConnection.Close()



Dans ma requête, je déclare le paramètre @pDate. Ce paramètre, je le
type ensuite comme étant du SqlDbType.DateTime et ensuite je lui
assigne une date (et pas une chaîne de caractères).



J'espère avoir été assez clair. Sinon n'hésite pas à demander des détails.


TiK
http://www.objectif-services.com
http://gadgaill.blogspot.com

Merci tikrimi 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de tikrimi
Messages postés
7
Date d'inscription
vendredi 8 mars 2002
Dernière intervention
2 février 2006
0
Merci
Alors là, je dit parfait! Explication nikel!
Cela fonctionne tres bien

Merci beaucoup pour ton aide !!

DOF
Commenter la réponse de ricodeluxe91

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.