cs_dormilon
Messages postés9Date d'inscriptionjeudi 30 avril 2009StatutMembreDernière intervention17 juin 2009
-
11 juin 2009 à 21:00
cs_dormilon
Messages postés9Date d'inscriptionjeudi 30 avril 2009StatutMembreDernière intervention17 juin 2009
-
13 juin 2009 à 19:24
Bonjour à tous,
Mon problème est le suivant quand je veux insérer un float dans ma base SQL Server avec les objets DataAdapter+DataTable j'ai une imprécision de 0,000005 donc pour la valeur 313.12 -> 313.119995117188
Par contre avec les objets SqlCommand + SqlParameter je n'ai pas ce problème.
Si vous avez une idée , une doc ou autre je suis preneur, ça fait 2 jours que je suis dessus
cs_dormilon
Messages postés9Date d'inscriptionjeudi 30 avril 2009StatutMembreDernière intervention17 juin 2009 12 juin 2009 à 09:11
merci pour ta réponse et je travaille avec des float des aussi bien pour la base que dans mon programme. Je me doutais qu'il y allait avoir une imprécision mais pas aussi grande.
J'ai fait un petit profiling avec SqlServerProfiling et la c'est encore plus incompréhensible.
Requete avec le SqlDataAdapter: exec sp_executesql N'INSERT INTO [Table1] ([time], [value]) VALUES (@p1, @p2)',N'@p1 datetime,@p2 float',@p1='Jun 10 2009 3:06:39:397PM',@p2=319.20
Requete avec le SqlParameter:
exec sp_executesql N'insert into Table1(time, value) VALUES (@p1, @p2)',N'@p1
datetime,@p2 float',@p1='Jun 10 2009 6:15:03:327PM',@p2=319.20
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 13 juin 2009 à 16:25
bonjour
j'aurais tendance à dire comme toi nhervagault, mais ce qui me laisse songeur c'est les traces du profiler.
2 traces identiques donnant un résultat different ???
Si c'était un problem de précision sur le type des parametres on devrait le voir sur la trace hors ce n'est pas le cas.
je reste perplexe.
C# is amazing, enjoy it!
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_dormilon
Messages postés9Date d'inscriptionjeudi 30 avril 2009StatutMembreDernière intervention17 juin 2009 13 juin 2009 à 19:24
bonjour,
nhervagault tu m'as donné une idée, j'ai donc modifié le type de mon DataColumn en le passant à decimal et j'ai maintenant les meme valeurs qu'avec le SqlParameter. Par contre le profiler me donne tjs la meme requête, certainement du au faite que SqlDataAdapter va récupérer les type avant d'envoyer les requetes.
Je vais donc regarder comment fonctionne le SqlDataAdapter pour voir comment il gere les types des colonnes.
C'est vraiment dommage qu'on ne puisse pas faire du debug (pas à pas) dans le code de microsoft, ça aurai été plus rapide