2015-04-23 43 views
0

我试图用Order by NEWID()为以下,以获得一个随机的顺序:如何在SQLite中获取随机数据?

public Cursor getSpecialList(String bloodCategory) {   
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cur = db.rawQuery("SELECT " + colName + " ," + 
     "" + colFather + " ," + 
     "" + colFamily + " ,"+ 
     "" + colPhone + " from " + ListInfoTable + 
     " WHERE " + colBloodCategory + "='" + bloodCategory + "'" + 
     " order by NEWID() ", new String[]{});  
    return cur;  
} 

SQLite的日志给了我以下错误:

No such function NEWID

+0

列名在ListInfoTable表中是否为'NEWID()'? –

+0

只需提供'列名称'。你想要'Order By' –

+0

@ρяσѕρєяK是否可以给一个像'NEWID()'这样的'表列名'? –

回答

2

您可以使用下面的代码的随机数据:

public Cursor getSpecialList(String bloodCategory) 
     {  

     SQLiteDatabase db=this.getReadableDatabase(); 
     Cursor cur=db.rawQuery("SELECT "+colName+" ,"+ 
      ""+colFather+" ,"+ 
      ""+colFamily+" ,"+ 
      ""+colPhone+" from "+ListInfoTable+ 
      " WHERE "+colBloodCategory+"='"+bloodCategory+"'"+ 
      " ORDER BY RANDOM() ",new String[] {});  
     return cur;  
    } 
+0

它正在工作谢谢 –

+0

很棒..... !!!!! – BSavaliya

+0

我更新了这个问题,可否请您投票.thanks –