Abrufen von Daten aus Sqllite DB zwischen zwei Daten Android

Ich rufe Daten zwischen zwei Datumsangaben ab, um ein korrektes Ergebnis zu erhalten, und um eine leere Listenansicht auszugeben, wenn ich Datumsangaben mit einem Monat auswähle. Wenn ich Datumsangaben zwischen mehr als einem Monat auswähle, wird eine leere Listenansicht ausgegeben

Hier deklariere ich die Variable in der DB-Klasse

public static final String EX_RowID = "_id";
public static final String EX_Cattype = "Ecattype";
public static final String EX_Date = "Ecdate";
public static final String EX_Price = "Ecprice";
public static final String EX_Type = "itype";

Creat Table-Anweisung

    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE " + Food_TABLE +"(" +
                EX_RowID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                EX_Cattype + " TEXT NOT NULL, " +
                EX_Date + " TEXT NOT NULL," +
                EX_Price + " INTEGER NOT NULL," +
                EX_Type + " TEXT NOT NULL UNIQUE );"
                );

    }

Daten eingeben Methode

 public long ExEntry(String Ecatgtype, String Edate, String Eprice, String Eitype) {
// TODO Auto-generated method stub

ContentValues cv = new ContentValues();
cv.put(EX_Cattype, Ecatgtype);
cv.put(EX_Date, Edate );
cv.put(EX_Price, Eprice);
cv.put(EX_Type, Eitype);
return ourdatabase.insertOrThrow(Food_TABLE, null, cv);
 }

Hier greife ich auf die ExEntry-Methode zu

ExMgDB Expentry = new ExMgDB(ADD_EX.this);
    Expentry.open();
    Expentry.ExEntry(cate, date, price, itype);
    Expentry.close();

hier stelle ich das Problem zwischen diesen zwei Datenvariablen gegenüber

 public Cursor CstmRpot(String fd, String td) {
// TODO Auto-generated method stub
String[] columns = new String[] {EX_RowID,EX_Cattype, EX_Date, EX_Price, EX_Type };
Cursor c= ourdatabase.query(Food_TABLE, columns, EX_Date  + " BETWEEN '" + fd + "'  
 AND '" + td + "'" , null, null, null, null);
if (c != null) {

       c.moveToFirst();

      }
return c;

}

Ich greife darauf wie unten

 CustemRpt dbcs = new CustemRpt();    
Cursor cursor = CstDB.CstmRpot(frmdate,tondate);

Antworten auf die Frage(4)

Ihre Antwort auf die Frage