Неверное значение, полученное с помощью SQLite

#android #sqlite #where-clause

#Android #базы данных SQLite #where-предложение #sqlite

Вопрос:

 c=MyDB.rawQuery("SELECT Distance FROM "   Table1   
        " WHERE Source = '"   source   "'", null);

distance = c.getFloat(c.getColumnIndex("Distance"));
  

Значение расстояния в базе данных равно 2,3. Однако, когда я отображаю это значение на экране, значение расстояния отображается как 0.

Комментарии:

1. Отсутствует точка с запятой в конце?

Ответ №1:

Вы закончили c.moveToFirst(); ? Если у вас его нет, данные не будут извлечены.

Ответ №2:

использовать

 c=MyDB.query(Table1,new String[]{Distance}, "Source = ?", new String[]{source},null,null, null);
if(c != null amp;amp; c.moveToFirst()) {

distance = c.getFloat(c.getColumnIndex("Distance"));

}
  

Комментарии:

1. Запрос метода(String, String[], String, String[], String, String, Строка) в типе SQLiteDatabase неприменим для аргументов (String, String[], String[], String[], null, null, нулевой) Это ошибка, которую я получаю.

2. ГДЕ Source = ‘» source «‘» << Эта строка неверна. Это должно быть source = «‘» source «‘» …. не включайте ключевое слово, где