使用游标在android中进行SQlite查询

时间:2015-03-10 06:45:52

标签: android sqlite android-sqlite android-cursor

我的查询是SELECT DefaultId FROM tblsample where ('567' = DefaultId) || ('567' = Name)

在上面的查询中

table name = tblsample 
Column Names = DefaultId , Name
Input Value  = 567

现在,我想检查此值在表格中的哪一列中可用,并返回其 DefaultId 。我能够在Sqlite中实现这一点,想知道是否还有更好的方法来优化查询和在android中使用

database.query(boolean distinct, String table, String[] columns,String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

我必须在android中使用哪个查询。

3 个答案:

答案 0 :(得分:4)

使用此代码段:

String table = "tblsample";
String selection = "DefaultId =? OR Name=?";
String[] selectionArgs = new String[]{"567"};
String[] projection = new String[]{"DefaultId","Name"}; // if you want to fetch only these two columns 

database.query

之前
database.query(true, table, projection, selection, selectionArgs, null, null, null, null);

更改不同限制订单拥有 groupBy 如果你需要它们。

答案 1 :(得分:1)

您可以使用 SQLiteDatabase documentation 来指导您。

  • table = "tblsample";

  • columns = new String[]{"DefaultId"};

其中

  • selection = "DefaultId =? OR Name=?";
  • selectionArgs = new String{"567"};

答案 2 :(得分:1)

String sql = "SELECT DefaultId FROM tblsample where (DefaultId = 567) OR (Name = 567)";
Cursor cursor=database.rawQuery(sql,null);
if(cursor != null && cursor.getCount()>0){
    //value available
} else{
    //not avail
}