繁体   English   中英

Android SQLiteDataBase:如何读取数据集?

[英]Android SQLiteDataBase: How to read datasets?

使用Android的SQLiteDatabase类令我非常沮丧。
我有一个名为db.sqlite的测试数据库,已使用SQLiteOpenHelper类将其导入到data/data/[my.app.namespace]/databse文件夹中。 此处显示
现在,我希望能够查询该数据库。 我应该为此创建另一个助手类吗? 我的意思是,如果要使用execSQL方法,则应使用SQLiteDatabase类,但不能创建它的子类!
我要进行Android编程。

PS:我猜对于SELECT语句,这是完全不同的。 我想获取一些数据。 我应该怎么做?

如果您希望能够在数据库类中使用execSQL或插入/更新/删除,则需要添加以下函数:

    public boolean executeQuery(String tableName,ContentValues values){
    return execQuery(tableName,values);
}

private  boolean execQuery(String tableName,ContentValues values){
    sqliteDb = instance.getWritableDatabase();
    sqliteDb.beginTransaction();
    sqliteDb.insert(tableName, "null", values);
    sqliteDb.setTransactionSuccessful();
    sqliteDb.endTransaction();
    return true;
}

public boolean updateSQL(String tableName,ContentValues values, String where, String[] args){
    return updateData(tableName,values,where,args); 
}

private  boolean updateData(String tableName,ContentValues values, String where, String[] args){
    sqliteDb = instance.getWritableDatabase();
    sqliteDb.update(tableName, values, where, args);
    return true;
}

public boolean deleteSQL(String tableName,String where, String[] args){
    return deleteData(tableName, where, args);
}

private  boolean deleteData(String tableName,String where, String[] args){
    sqliteDb = instance.getWritableDatabase();
    sqliteDb.beginTransaction();
    sqliteDb.delete(tableName, where, args);
    sqliteDb.setTransactionSuccessful();
    sqliteDb.endTransaction();
    return true;
}

public Cursor executeSQLQuery(String query){
    Cursor c = sqliteDb.rawQuery(query,null);
    return c;
}

public void executeSQL(String query){
    sqliteDb.execSQL(query);
}

我正在使用同一个类,并且添加了这些功能,它们正在工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM