2011-08-23 110 views
1

我有一个数据库,其中有一列以毫秒为单位的日期。我试图执行一个查询,它允许我仅检索大于当前系统时间并按升序排列的日期。Android原始查询问题

这就是我所做的,但它似乎没有工作,帮助将是最感激。

long lowestDate = 0; 
    long currentTime = System.currentTimeMillis(); 
    String CT = Long.toString(currentTime); 
    String[] args = {CT}; 
    mDb = mDbHelper.getReadableDatabase(); 
    String mySQL = " select dt" 
        + " from reminders" 
        + " where dt > " + args[0] 
        + " orderby dt Asc "; 
    Cursor c1 = mDb.rawQuery(mySQL, null); 
+0

以什么方式不起作用?它是否崩溃,你是否收到错误信息,结果不是你期望的结果? –

回答

1
long lowestDate = 0; 
    long currentTime = System.currentTimeMillis(); 
    String CT = Long.toString(currentTime); 
    String[] args = {CT}; 
    mDb = mDbHelper.getReadableDatabase(); 
    String mySQL = " select dt" 
        + " from reminders" 
        + " where dt > '" + args[0] 
        + "' orderby dt Asc "; 
    Cursor c1 = mDb.rawQuery(mySQL, null); 

试试这个

0

尝试

String mySQL = "select dt" 
         + " from reminders" 
         + " where dt > '" + args[0] 
         + "' orderby dt Asc"; 
2
String mySQL = " select dt" 
        + " from reminders" 
        + " where dt > " + System.currentTimeMillis() 
        + " order by dt Asc "; 

“排序” 而不是 “排序依据”,长字符串转换是自动的。