我在这里使用Android的SQLiteDatabase
课非常沮丧
我有一个名为db.sqlite
的测试数据库,我使用data/data/[my.app.namespace]/databse
类导入到SQLiteOpenHelper
文件夹。 (证明here)
现在我希望能够查询该数据库。我应该为此创建另一个助手类吗?我的意思是如果想要使用execSQL
方法我应该使用SQLiteDatabase
类但是我无法创建它的子类!
我是Android编程。
P.S:我想SELECT
这句话完全不同。我想要获取一些数据。我该怎么做?
答案 0 :(得分:0)
如果您希望能够在数据库类中使用execSQL或insert / update / delete,则需要添加以下函数:
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);
}
我正在使用相同的课程,我已经添加了这些功能,但他们正在工作。