У меня есть прекомпилированная база данных, и я хочу, чтобы получить данные по передаваемым параметрамDB Cursor результатов всегда пустой, если я пытаюсь получить данные с помощью селективного запроса
Но по какой-то странной причине результатов курсора всегда пустой
методМоей GetData в адаптере
public Cursor getData(String uso, String eta, String category,
String class) {
try {
Cursor c;
if (class.equals(null) && category.equals(null)) {
c = mDb.rawQuery("SELECT * FROM dbtable WHERE Uso LIKE \""
+ uso + "\" AND Eta LIKE \"" + eta
+ "\" AND Language LIKE \"" + language
+ "\" order by Name asc", null);
} else if (class.equals(null)) {
c = mDb.rawQuery("SELECT * FROM dbtable WHERE Uso LIKE \""
+ uso + "\" AND Eta LIKE \"" + eta
+ "\" AND Tipo LIKE \"" + category
+ "\" AND Language LIKE \"" + language
+ "\" order by Name asc", null);
} else if (category.equals(null)) {
c = mDb.rawQuery("SELECT * FROM dbtable WHERE Uso LIKE \""
+ uso + "\" AND Eta LIKE \"" + eta
+ "\" AND Certification LIKE \"" + class
+ "\" AND Language LIKE \"" + language
+ "\" order by Name asc", null);
} else {
c = mDb.rawQuery("SELECT * FROM dbtable WHERE Uso LIKE \""
+ uso + "\" AND Eta LIKE \"" + eta
+ "\" AND Tipo LIKE \"" + category
+ "\" AND Certification LIKE \"" + class
+ "\" AND Language LIKE \"" + language
+ "\" order by Name asc", null);
}
if (c != null) {
c.moveToNext();
}
return c;
} catch (SQLException mSQLException) {
Log.e(TAG, "getDataCar >>" + mSQLException.toString());
throw mSQLException;
}
}
...
Этот курсор используется в методе, который помещает все записи в массиве автомобилей объекты
public Car[] getDataDBCarsArray(String uso, String eta,
String category, String class) {
ArrayList<Car> list = new ArrayList<Car>();
Cursor c = getData(uso, eta, category, class);
try {
.....
Все отлично работает, если вместо выше GetData (....) Я пытаюсь использовать
public Cursor getAllData(){
try {
Cursor c = mDb.rawQuery("SELECT * FROM dbtable order by Name asc", null);
if (c != null) {
c.moveToNext();
}
return c;
}catch (SQLException mSQLException) {
throw mSQLException;
}
}
так кажется, проблема с запросом в GetData (...).
Но я не могу понять, где ошибка.
Если я пытаюсь открыть базу данных, есть много элементов для переданных параметров, но странно ничего не находит.
NB
язык статическое значение, которое зависит от языка устройства
Спасибо для ответа. Но я не уверен, что понял правильный синтаксис. Не могли бы вы дать мне образец для первого блока if getData()? (Eta, Name и т. Д. Являются столбцами) – AndreaF
Я обновил свой ответ с более крупным примером. Я использовал довольно много пробелов, чтобы помочь новым аспектам выскочить на вас, не стесняйтесь использовать больше. – Sam
Большое вам спасибо! – AndreaF