2017-02-10 1 views
-1

나는 달력보기 및 클래스의 텍스트보기, 필자는 내가 선택된 특정 날짜의 데이터를 가져올 수있는 방법 yyyymmdd (which is the format of my datestamp database names)일정 onSelectedDayChange 및 SQLite는 합계

onSelectedDayChange의 캘린더를 포맷 한? 1 월 1 일을 캘린더보기로 선택하면 해당 테이블에서 데이터를 가져올 수 있습니까? 여기

, 내 코드는 현재 하루 열 지방의 합계를 가져 오기 위해이 내 mainactivity 클래스에

입니다

이 내 REPO 클래스에
public Integer totalFat() 
    { 
     repo repo = new repo(this); 

     double i = repo.totalFatrepo(); 

     Textbreakfast.setText(""+i); 

     return null; 
    } 

public double totalFatrepo(){ 

     SQLiteDatabase db = dbHelper.getWritableDatabase(); 

     String query = "SELECT SUM(Fat) FROM " + breakfast.TABLE; 

     Cursor c = db.rawQuery(query, null); 

     //Add in the movetofirst etc here? see SO 
     c.moveToFirst(); 
     double i=c.getDouble(0); 

     return i; 

    } 

무엇 iw 개미는 일정보기에서 날짜를 클릭하면 db에서 가져와 해당 날짜와 관련된 데이터를 표시합니다.

----- 추가 코드에 대한 편집 ------

이 내 DB 도우미 클래스입니다. 어떻게하면 setOnDateChangeListener 값을 읽을 수 있도록 포맷 할 수 있습니까?

public static String getDateTime() { 
     SimpleDateFormat dateFormat = new SimpleDateFormat(
       "yyyyMMdd", Locale.getDefault()); 
     Date date = new Date(); 
     return dateFormat.format(date); 
    } 

    // Database Name 
    private static final String DATABASE_NAME = getDateTime(); 

답변

0

나는 기본적으로 내가 오전 4시 또는 무언가로 설정하는 표준 시간, 분, 초 하루에 분리 할 millisec와 timeOfDay 달력 timeInMillis 값을 저장합니다. 그러면 그 값에 대한 간단한 비교를 할 수 있습니다.

selectQuery = "SELECT * FROM TABLE WHERE day >= " + thisDate + " AND day < " + thatDate; 

또는

selectQuery = "SELECT * FROM TABLE WHERE day = " + thisDate 

그래서 당신이 두 번째 시간, 분을 설정하고 작동 millisec로

.

+0

날짜 (tablename = breakfast.table 및 columnName = Fat)에서 합계 (fat)를 어떻게 얻을 수 있습니까? ** // 날짜 = 난 내 테이블 이름과 열 이름을 넣어 곳 + 날짜 + idont는 알고있다 "FROM SUM (지방)을 선택"달력보기 // ** 문자열 쿼리 =의 onselectedDay의 값입니다 .. –

+0

안녕하세요, 선생님, 내 게시물 편집, 내 헬퍼를 추가, 난 그냥 ** setOnDateChangeListener **의 가치를 얻으려면 그것을 포맷해야 할 생각이다 ** 제발 도와주세요 –

+0

당신이 무엇을 요구하고 있는지 확실하지 않습니다. 그것은 안드로이드에서 데이터베이스로 작업하는 방법에 대한 대략적인 아이디어를 얻으려면 google mysql CRUD Query가 필요해 보입니다. 'SELECT rows_you_want FROM table_rows_are_located WHERE some_conditional' 필자는 'SELECT * FROM TABLE'을 사용했기 때문에 기본적으로 테이블의 모든 것을 가져옵니다. 특정 날짜를 원하면 WHERE 절 예제를보십시오. 'day'는 Calendar.getInstance(). getTimeInMillis()에서 제공 한 timeInMillis의 Long 값을 보유하는 테이블의 행입니다. –