android 中的 SQlite 查询使用游标

SQlite Query in android using cursor

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

在上面的查询中

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

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

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

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

使用这个片段:

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);

更改 distinctlimitorderBy 的值有groupBy如果你需要的话。

你可以用 SQLiteDatabase documentation 来指导你。

Table

  • table = "tblsample";

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

在哪里

  • selection = "DefaultId =? OR Name=?";
  • selectionArgs = new String{"567"};
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
}