Android SQLite where 一个字段查询多个值
在Android中,使用SQLite数据库进行一个字段基于多个值的查询,可以使用IN
关键字。以下是一个例子,假设我们有一个表users
,字段id
是我们要查询的字段,我们想要查询id
值为1, 2, 或者3的用户。
// 假设db是一个SQLiteDatabase实例
String[] values = {"1", "2", "3"}; // 这些是我们要查询的值
Cursor cursor = db.query("users", // 表名
new String[]{"id", "name", "email"}, // 要返回的列名
"id IN (?, ?, ?)", // 查询条件
values, // 查询条件的参数
null, // 不分组
null, // 不过滤
null); // 排序方式
try {
while (cursor.moveToNext()) {
// 获取数据
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String email = cursor.getString(cursor.getColumnIndex("email"));
// 处理获取的数据
}
} finally {
cursor.close(); // 关闭Cursor释放资源
}
在这个例子中,db.query
方法的第二个参数是要返回的列名数组,第三个参数是查询条件,后面的参数是查询条件的参数数组。使用?
作为占位符,然后将实际的值放入values
数组中。这样做可以避免SQL注入安全风险。
评论已关闭