簡體   English   中英

SQLite查詢:使用BETWEEN子句選擇查詢

[英]SQLite Query : Select Query with BETWEEN clause

我想在Android應用程序中運行此查詢:

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

我的數據庫架構

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

enteredField1,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;  
}  

首先,您的查詢無效。 SQL中沒有INBETWEEN ; 使用BETWEEN

... test_expr BETWEEN lower_bound_expr AND upper_bound_expr

此外,逗號不是在WHERE子句中起作用的二元運算符; 使用AND代替:

... WHERE binary_expression_1 AND binary_expression_2

使用SQLiteDatabase一種查詢方法執行查詢。 您使用哪種方法取決於您的需求; 我聯系到的那個可能對你來說很好。

您可以使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM