2016-09-09 3 views
-1

ich eine Datenbank in meiner Anwendung haben, und ich will Daten aus der Datenbank auf das aktuelle Datum nach retrive .. hatte ich diese Abfrage verwendet, aber wenn ich Taste nichts zeigt sich in Listview retrive klickenWie Wählen Sie die Abfrage in SQLite

Select * from BluetoothDevice wo Date = current_date

public class UserDbHelper extends SQLiteOpenHelper { 
public static final String DATABASENAME = "DATABASENAME2"; 
public static final int DB_VERSION = 1; 


public UserDbHelper(Context context) 
{ 
    super(context,DATABASENAME,null,DB_VERSION); 


} 
@Override 
public void onCreate(SQLiteDatabase sqLiteDatabase) { 
    sqLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS BluetoothDevice (Device VARCHAR , Address VARCHAR , Date VARCHAR);"); 

} 
public List<BluetoothDevice> getItemFromDatabase(SQLiteDatabase sqLiteDatabase) { 
    List<BluetoothDevice> result = new ArrayList<>(); 
    // query database elements 
    Cursor c = sqLiteDatabase.rawQuery("Select * from BluetoothDevice where Date = current_date;", null); 

    while (c.moveToNext()) { 
     Date date = new Date(); 
     date.setTime(Long.valueOf(c.getString(c.getColumnIndex("Date")))); 
     result.add(
       new BluetoothDevice(
         c.getString(c.getColumnIndex("Device")), 
         c.getString(c.getColumnIndex("Address")), 
         date 

       ) 
     ); 
    } 
    c.close(); 
    return result; 
} 

public void store(List<BluetoothDevice> data,SQLiteDatabase sqLiteDatabase) { 
    for (BluetoothDevice value : data) { 
     String s = String.valueOf(new Date().getTime()); 
     //insert in database 
     sqLiteDatabase.execSQL("INSERT INTO BluetoothDevice VALUES(?,?,?,?);", new String[]{value.name, value.address, s}); 

    } 
} 


@Override 
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { 

} 
} 
+0

sein für SQL Server nicht für Android –

+0

für SQLite-Datenbank gemacht ändern http://stackoverflow.com/questions/10395459/comparing- result-with-todays-date Schauen Sie sich diesen Code an, die Syntax in den Abfragen ist dieselbe. –

+0

Ich habe versucht, auch nichts zeigt –

Antwort

1

Sie müssen auf jeden Fall Ihre erstellten Tabelle in die onUpgrade Methode setzen.

//Checks wether the old table has to be removed 
@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ 
    db.execSQL("DROP TABLE BluetoothDevice"); 
    onCreate(db); 
} 

Außerdem müssen Sie Ihre DB_VERSION erhöhen, mit jedem Sie an Ihrer Datenbank

+0

Wie kann ich DB_Version –

+0

inkrementieren, wenn Ihre aktuelle Version ist "1" Sie ändern es in "2". Und so weiter –

+0

so damit die Abfrage funktioniert? –