Показывает исключение при выполнении SQL-запроса в сахар - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь выполнить SQL-запрос Sugar. Но я получаю исключение. Это запрос, который я представляю.

ArrayList<Folder> mFolderList = (ArrayList<Folder>) Folder.findWithQuery(Folder.class, "Select * from Folder where folderPath = " + mFileLists[i].getParent() + " and imagePath = " + mFileLists[i].getAbsolutePath());

Здесь значение для folderPath является путем к папке внутренней памяти устройства, например: / storage / emulated / 0 / Download

Но я получаю исключение как

W/System.err: android.database.sqlite.SQLiteException: near "/": syntax error (code 1): , while compiling: Select * from Folder where folderPath =/storage/emulated/0/Download and imagePath = /storage/emulated/0/Download/.nomedia

Не удалось найти ошибку в этом запросе. Может кто-нибудь помочь мне?

1 Ответ

0 голосов
/ 14 января 2019

Ваш путь к изображению и путь к папке состоит из "/", и запрос sqlite не принимает его.

Вы можете использовать DatabaseUtils, чтобы избежать этого ...

ArrayList<Folder> mFolderList = (ArrayList<Folder>) Folder.findWithQuery(Folder.class, "Select * from Folder where folderPath = " + DatabaseUtils.sqlEscapeString(mFileLists[i].getParent()) + " and imagePath = " + DatabaseUtils.sqlEscapeString(mFileLists[i].getAbsolutePath()));
...