Что не так с этим запросом SQLite? - PullRequest
0 голосов
/ 21 апреля 2011
c=MyDB.rawQuery("SELECT Distance FROM " +
            Table1 + "WHERE Source = '" + source + "' AND Distance = " +
                distance + " ' ", null);

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

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011
c=MyDB.rawQuery("SELECT Distance FROM " + Table1 + " WHERE Source = '" + source + "' AND Distance = '" + distance + " ' ", null);

Обратите внимание на пробел перед ключевым словом WHERE и "'" после расстояния =.Кроме того, лучше использовать не rawQuery, а метод запроса, так как он использует подготовленный оператор , что более безопасно.

0 голосов
/ 21 апреля 2011

Вы пропускаете апостроф перед значением расстояния и пробел после имени таблицы.

Однако такой способ построения запросов делает вас склонными к атакам с использованием SQL-инъекций. Вместо этого используйте правильные параметры. Как это сделать, будет задокументировано в используемой вами библиотеке.

...