J'utilise C# dans une appli winform. Cette appli pointe sur une base de données Access. Pour la lecture/écriture de la base de données, je passe par un dataset fortement typé. Etant sur un ordinateur français, Access utilise la virgule au lieu du point, comme séparateur décimal.
Une des tables contient un champ réel double. Je peux lire la table sans problème, même avec des valeurs décimales (ie 20,25 me donne un double qui vaut 20.25). Par contre, si je crée une nouvelle ligne, que je lui affecte une valeur avec décimale, lors de la mise à jour de la base de données, j'obtiens une exception "Type de données incompatible ...". L'erreur vient bien de la décimale, car si toutes mes valeurs sont entières (stockées comme double, mais avec une partie décimale égale à 0), tout se passe bien.
J'ai bien vérifier que ma base utilise des doubles, ainsi que le dataset. Comme je passe par ce dataset, je ne peux voir la commande sql réellement utilisée.
J'ai testé en changeant le paramètre "symbole décimal" dans le panneau de configuration de windows, pour utiliser le point au lieu de la virgule. Et tout fonctionne ! Bien sûr je ne pourrai pas demander à mes utilisateur de faire la même chose, ce qui ne règle donc pas le problème.
Si quelqu'un peut me guider vers une solution ...
Partager