2015-03-02 188 views
-2

之間沿選擇查詢。我在SQLite數據庫中使用了rawQuery。我該數據庫的方法如下:SQLite數據庫與我使用Android中SQLite數據庫條款

public Cursor selectedDate(String from_dt ,String to_dt) 
{ 
    try 
    { 
     String str_k="select RowId,Bill_Date from SalesMaster Where Bill_Date between '"+ 
         from_dt+ "'and'"+to_dt+ "'"; 
     System.out.println(str_k); 

     Cursor c1 = sqldb.rawQuery(
         "select RowId from SalesMaster Where Bill_Date between '"+ 
         from_dt+ "'and'"+to_dt+ "'", null); 
     return c1; 
    } 
    catch(Exception e) 
    { 
     System.out.println("inside database file "+ e); 
     return null; 
    } 
} 

和我的java文件是

public void ReportSell(String from_dt,String to_dt) 
{ 
    System.out.println("report selling method has been called"); 
    String RowId=""; 
    item db1 = new item(getBaseContext()); 
    db1.openDb(); 

    try 
    { 
     final Cursor cursor = db1.selectedDate(from_dt, to_dt); 

     if(cursor.moveToFirst()) 
     { 
      do 
      { 
       RowId= cursor.getString(cursor.getColumnIndex("RowId")).toString(); 
       System.out.println("inside java Row Id file "+ RowId); 
       salesid.add(RowId); 
       ArrayAdapter <String> adapter = new ArrayAdapter <String>(this, 
                android.R.layout.simple_list_item_1, 
                salesid); 
      } while(cursor.moveToNext()); 
     } 
     else 
     { 
      Toast.makeText(getApplicationContext(), "No data found", 
           Toast.LENGTH_LONG).show(); 
     } 
    } catch(Exception e) 
    { 
     System.out.println("inside java file "+ e); 
    } 
    db1.closeDb(); 
} 

的主要問題是,它會從salesMaster表返回RowId按照從最新的和最新,但實際的問題是它會返回值,但不包括最新的到期日期。

例如,如果我想從RowId到25/02/2015 28/02/2015 所以它會給RowId從25/02/2015到27/02/2015,但不包括28/02/2015 。

+0

所以,你要添加1天to yourDate – 2015-03-02 11:59:10

回答

0

必須更換between

表達(分< = EXPR和EXPR < =最大值)

更改您查詢到

String str_k="SELECT * from TABLE_NAME Where COLUMN_NAME >='"+from_date+ "' AND <= '"+to_date+ "'"; 

      System.out.println(str_k); 
+0

其返回的語法錯誤附近「<=" and "> =」 – 2015-03-03 03:46:43

+0

請發佈您的str_k完整的字符串由System.out.println(str_k)打印; – IshRoid 2015-03-03 05:04:12