溫馨提示×

android中的SQLite數(shù)據(jù)庫如何進行query查詢

小樊
148
2024-08-16 11:18:40
欄目: 云計算

在Android中使用SQLite數(shù)據(jù)庫進行查詢操作時,可以使用SQLiteDatabase類中的query()方法來執(zhí)行查詢操作。以下是一個簡單的示例代碼:

// 創(chuàng)建SQLiteOpenHelper的子類來管理數(shù)據(jù)庫的創(chuàng)建和版本升級
public class DatabaseHelper extends SQLiteOpenHelper {

    public static final String DATABASE_NAME = "mydatabase.db";
    public static final int DATABASE_VERSION = 1;

    public static final String TABLE_NAME = "mytable";
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_NAME = "name";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String createTableQuery = "CREATE TABLE " + TABLE_NAME + "(" +
                COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                COLUMN_NAME + " TEXT)";
        db.execSQL(createTableQuery);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }

    public Cursor queryData() {
        SQLiteDatabase db = this.getReadableDatabase();

        String[] projection = {
                COLUMN_ID,
                COLUMN_NAME
        };

        Cursor cursor = db.query(
                TABLE_NAME,
                projection,
                null,
                null,
                null,
                null,
                null
        );

        return cursor;
    }
}

在上面的代碼中,首先創(chuàng)建一個DatabaseHelper類繼承自SQLiteOpenHelper類,其中定義了數(shù)據(jù)庫名稱、版本、表名和列名等常量。在onCreate()方法中創(chuàng)建表格,然后在queryData()方法中執(zhí)行查詢操作。

在Activity中使用該DatabaseHelper類進行查詢操作:

DatabaseHelper dbHelper = new DatabaseHelper(this);
Cursor cursor = dbHelper.queryData();

if (cursor != null && cursor.moveToFirst()) {
    do {
        int id = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.COLUMN_ID));
        String name = cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_NAME));
        Log.d("Query Result", "ID: " + id + ", Name: " + name);
    } while (cursor.moveToNext());
}

cursor.close();
dbHelper.close();

在Activity中創(chuàng)建DatabaseHelper對象,并調(diào)用queryData()方法獲取Cursor對象,然后遍歷Cursor對象獲取查詢結(jié)果。最后關(guān)閉Cursor和DatabaseHelper對象。

請注意在使用完Cursor對象和DatabaseHelper對象后記得調(diào)用close()方法釋放資源。

0