Я получаю исключение InvalidCastException, когда извлекаю данные из моей базы данных SQLite в C #. Исключение говорит: «Указанное приведение недействительно».
Я вижу значение в диспетчере SQL, поэтому знаю, что оно существует. Можно получить строки (VARCHARS) и целые из базы данных. Я также могу извлечь значение как объект, но затем я получаю «66.0», когда предполагается, что это «66,8558604947586» (широта координации).
Кто-нибудь знает, как это решить?
Мой код:
using System.Data.SQLite;
...
SQLiteConnection conn = new SQLiteConnection(@"Data Source=C:\\database.sqlite; Version=3;");
conn.Open();
SQLiteDataReader reader = getReader(conn, "SELECT * FROM table");
//These are working
String name = reader.GetString(1);
Int32 value = reader.GetInt32(2);
//This is not working
Double latitude = reader.getDouble(3);
//This gives me wrong value
Object o = reader[3]; //or reader["latitude"] or reader.getValue(3)