rawQuery(query,selectionArgs)

sre*_*dev 82 sqlite android

我想使用select查询从表中检索数据.我发现,rawQuery(query, selectionArgs)方法SQLiteDatabase类检索数据.但我不知道该怎么queryselectionArgs应该传递给rawQuery方法?

Raw*_*ode 210

rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});
Run Code Online (Sandbox Code Playgroud)

您传递的字符串数组具有相同数量的元素,因为您有"?"

  • @theapache64它不是有效的查询.'?' 仅适用于值. (7认同)

小智 14

也许这可以帮到你

Cursor c = db.rawQuery("query",null);
int id[] = new int[c.getCount()];
int i = 0;
if (c.getCount() > 0) 
{               
    c.moveToFirst();
    do {
        id[i] = c.getInt(c.getColumnIndex("field_name"));
        i++;
    } while (c.moveToNext());
    c.close();
}
Run Code Online (Sandbox Code Playgroud)


Tar*_*run 10

rawQuery的一个例子 - db.rawQuery("select * from table where column = ?",new String[]{"data"});


Pun*_*rma 6

如果你的 SQL 查询是这样的

SELECT id,name,roll FROM student WHERE name='Amit' AND roll='7'
Run Code Online (Sandbox Code Playgroud)

那么 rawQuery 将是

String query="SELECT id, name, roll FROM student WHERE name = ? AND roll = ?";
String[] selectionArgs = {"Amit","7"} 
db.rawQuery(query, selectionArgs);
Run Code Online (Sandbox Code Playgroud)