SQLite Query: выберите Query with предложение BETWEEN - PullRequest
4 голосов
/ 29 сентября 2010

Я хочу выполнить этот запрос в приложении для Android:

SELECT field1 FROM table1  
where field1 = ?(enteredField1) AND field2 = ?(enteredField2)  
AND enteredField3 BETWEEN field3 , field4  
;

моя схема БД

table1(field1, field2, field3, field4, field5)  

enterField1, 2, 3 = - это параметры, которые необходимо проверить.

Надеюсь, у меня возник вопрос с вопросом.

вот функция -

public boolean checkData(String task1, String dte1, String startTime1 )  
{   

        // field 1 = task , fiels 2 = dte, field 3 = startHr, field 4 = endHr  
        // enteredField 1,2,3 = task1, dte1, startTime1   
        // here I want to insert the query  

    int a = cursor.getCount();  
    if(a>0)  
    {  
        return true;  
    }  
    return false;  
}  

Ответы [ 2 ]

5 голосов
/ 29 сентября 2010

Во-первых, ваш запрос недействителен.В SQL нет INBETWEEN;используйте BETWEEN:

... test_expr BETWEEN lower_bound_expr AND upper_bound_expr

Кроме того, запятая не является двоичным оператором, который работает в предложениях WHERE;вместо этого используйте AND:

... WHERE binary_expression_1 AND binary_expression_2

Выполните запрос одним из методов запроса в SQLiteDatabase.То, что вы используете, зависит от ваших потребностей;тот, на который я ссылался, вероятно, подойдет вам.

4 голосов
/ 29 сентября 2010

вы можете использовать SQLiteQueryBuilder для решения вашей проблемы. Ниже приведен пример для вас, надеюсь, это поможет.

SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
SQLiteDatabase db = null; // get your database instance here.
qb.setTables("table1");
qb.appendWhere("field1 = ? AND field2 = ?");
qb.query(db, new String[] { "field1" }, "enteredField3 BETWEEN field3 AND field4",
        new String[] { "enteredField1", "enteredField2"}, null, null, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...