Je crée une application utilitaire de chargement de données (Win 7 64bit, VS 2008, C#, .Net 3.5, Win Forms) en utilisant Subsonic 2.2.
J'ai tout mis en œuvre en utilisant SqlServer et maintenant je dois le faire fonctionner dans Sqlite 3. J'ai travaillé sur certains problèmes mais il y en a un que je ne peux pas résoudre;
J'ai 2 colonnes, Latitude et Longitude qui sont des types de données FLOAT dans sqlite et Subsonic génère comme des flottants Nullable. La génération de code est bonne, la construction est bien, mais quand je tente d'exécuter l'application, quand l'objet est sauvegardé, je reçois une erreur, "Impossible de sauvegarder: Longitude dépasse la longueur maximale de 8". Je pense qu'il s'agit d'un problème de vérification dans Subsonic, car ma base de données Sqlite a maintenant un problème avec les données que j'ai chargées dans ces colonnes.
Tous les anciens combattants Subsonic ou Sqlite ont des suggestions, je suis tout nouveau chez Subsonic et je travaille avec Sqlite depuis environ 6 mois.Subsonic + Sqlite + Float datatype == "Impossible d'enregistrer: xxx dépasse la longueur maximale de 8"
Merci, Geoff
La valeur qui est à l'origine de l'erreur est -122,41082 qui est plus de 8 caractères, mais je ne pense pas que ce soit la limite pour un flotteur dans SQLite. Peut-être que je choisis mal quand il s'agit de types de données?
Pouvez-vous me rendre un service et faire un Math.Round() pour que j'obtienne la décimale? –
J'utilise actuellement un lat fixe/long (37.77188, -122.410819) pour ce point. Je vais tirer dans les vrais coords plus tard. J'ai testé avec le Math.Round() et j'ai trouvé que si je terminais à 3 sur le long cela fonctionnerait. Donc SS semble vraiment compter le champ float comme s'il s'agissait d'un champ varchar (8). – TheGeoff