我正在使用查询方法,但我不知道如何在查询方法中传递多个选择参数.
我的查询方法应该返回与此sql语句相同的结果:
SELECT _id FROM CONATCT_TAGS WHERE TAG1='tagname' OR
TAG2='tagname' OR
TAG3='tagname' OR
TAG4='tagname' OR
TAG5='tagname';
dbm*_*dbm 48
如果您想在Android SQLite连接中使用内置优化,您可以执行以下操作:
String table = "CONTACT_TAGS";
String[] columns = {"_id"};
String where = "TAG1=? OR TAG2=? OR TAG3=? OR TAG4=? OR TAG5=?";
String[] args = {"tagname", "tagname", "tagname", "tagname", "tagname"};
SQLiteDatabase db = myDatabaseHelper.getReadableDatabase();
Cursor cursor = db.query(table, columns, where, args, null, null, null);
Run Code Online (Sandbox Code Playgroud)
与@ raultum解决方案的不同之处在于,您让数据库连接器决定如何解释提交的数据.从安全角度来看,这是非常有趣的.
rau*_*ltm 11
尝试类似的东西......
SQLiteDatabase db = YourDatabaseHelper.getReadableDatabase();
String TABLE = "CONTACT_TAGS";
String[] FIELDS = { "_id" };
String WHERE = "TAG1='tagname' OR TAG2='tagname' OR TAG3='tagname' OR TAG4='tagname' OR TAG5='tagname' ";
// Execute
cursor = db.query(TABLE, FIELDS, WHERE, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
如果您阅读Cursor.query()方法的文档,您会找到selection如下定义:
selection:一个过滤器,声明要返回哪些行,格式化为SQL WHERE子句(不包括WHERE本身).传递null将返回给定表的所有行.
| 归档时间: |
|
| 查看次数: |
33681 次 |
| 最近记录: |