2013-10-27 9 views
2

나는 3 개의 열 (id, date, price)으로 구성된 Order라는 이름의 테이블을 가지고 있습니다. 모든 데이터를 검색하려고하는데 date >= startdate AND date <= endDate. 열 date의 날짜는이 형식으로 TEXT로 저장됩니다 "MM-dd-yyyy HH:mm:ss" (10-27-2013 12:12:43)날짜를 기준으로 MySQL 데이터베이스에서 데이터 가져 오기

나는 다음과 같은 SQL 문을 시도

:

Cursor cursor = cr.query(PizzeriaContentProvider.CONTENT_URI_ORDER, null, PizzeriaDatabase.CELL_ORDER_DATE + " >= DATETIME ("+ startDate + ") AND " + 
       PizzeriaDatabase.CELL_ORDER_DATE + " <= DATETIME(" + endDate + ")", null, null); 

Cursor cursor = cr.query(PizzeriaContentProvider.CONTENT_URI_ORDER, null, PizzeriaDatabase.CELL_ORDER_DATE + " between (" + startDate + " AND " + endDate + ")", null, null); 

그러나 둘 다 같은 예외를 던져 :

java.lang.RuntimeException: Unable to start activity ComponentInfo{cz.vongrad.pizzeria/presentationLayer.ViewOrder}: 
android.database.sqlite.SQLiteException: near "14": syntax error: , 
while compiling: SELECT * FROM orders WHERE (date >= DATETIME(10-27-2013 14:01:53) AND date <= DATETIME(10-27-2013 14:01:53)) 

그래서 나는 틀린 체재에있는 날짜를 비교한다고 생각하니?

답변

1

INVERTED COMMA의이 누락 ::

Cursor cursor = cr.query(PizzeriaContentProvider.CONTENT_URI_ORDER, null, PizzeriaDatabase.CELL_ORDER_DATE + " >= DATETIME ('"+ startDate + "') AND " + 
       PizzeriaDatabase.CELL_ORDER_DATE + " <= DATETIME('" + endDate + "')", null, null); 
+0

덕분에, 나는 그것이 인용 부호 사이 여야한다는 것을 몰랐습니다. 나는 5 분 안에 받아 들여진 답을 표시 할 것이고, 이제는 그 일을 할 수 없다. ... – Husky

+0

@ 허스키 : 물론이 ... 문제는 아니다. –

관련 문제