2016-09-08 10 views
-1

私のデータベーステーブルには、Dateカラムと2つの他のカラムがあります。
システム日付に従って、todayに保存されたデータを取得するクエリを書きたいと思います。SQLiteデータベースクエリ

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;", null); 

     while (c.moveToNext()) { 
      Date v = new Date(); 
      v.setTime(c.getInt(c.getColumnIndex("Date")) * 1000); 
      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

質問は何ですか?あなたが**何かがほしいと思ったら、それを得ることを説明してください。 –

+0

そして、私はあなたが 'c.getLong(c.getColumnIndex(" Date "))' ' –

+0

と思っています。現在の日付 –

答えて

0

最初にカレンダーのインスタンスを取得します。それを使って時間を得る。

Calendar today = Calendar.getInstance(); 

次に、カレンダーインスタンスからgetmethodを使用して現在時刻を取得します。そして、次に述べるデータベースメソッドを使用して、あなたのクエリと選択引数を置き換えます。

get(Calendar.HOUR_OF_DAY): 0 to 23 
get(Calendar.MINUTE): 0 to 59 
get(Calendar.SECOND): 0 to 59 

public Cursor getInformation(SQLiteDatabase db,string date){ 
    Cursor cursor; 
    String[] projections={NAME.OF.COLUMNS.YOU.WANT1, NAME.OF.COLUMNS.YOU.WANT2}; 
    String selection=COLUMN.NAME.OF.DATE+" LIKE ?" 
    String[] selection_args={date}; 
    cursor=db.query(TABLE_NAME,projections,selection,selection_args,null,null,null); 
    return cursor; 
} 
+0

しかし、私は別の列を作っていない私はクエリで列を作った –

+0

私のデータベースクラスを掲載 –

関連する問題