在Android SQLite中,可以使用NOT LIKE语法来查询不匹配特定模式的数据。下面是一个示例代码,演示如何使用NOT LIKE语法:
首先,创建一个SQLiteOpenHelper的子类,用于管理数据库的创建和升级:
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格
String createTableQuery = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库升级
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}
}
然后,在你的Activity或Fragment中,实例化MyDatabaseHelper并获取可写的数据库对象:
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
接下来,可以使用NOT LIKE语法查询不匹配特定模式的数据。例如,假设我们要查询不以字母A开头的name字段:
String query = "SELECT * FROM mytable WHERE name NOT LIKE 'A%'";
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
// 处理查询结果
// ...
} while (cursor.moveToNext());
}
cursor.close();
在上面的示例中,使用NOT LIKE 'A%'来查询不以字母A开头的name字段。根据你的需求,可以根据具体的模式进行查询。
最后,记得在使用完数据库后关闭它:
db.close();
以上就是使用NOT LIKE语法进行Android SQLite查询的示例代码。你可以根据自己的需求进行适当的修改和扩展。