2013-10-27 93 views
2

我有一个名为Order的表,由3列(id,date,price)组成。我试图检索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

支持引号的缺失::

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

@赫斯基:当然...不是问题 –

相关问题