我在下面有一个问题。执行插入指令没有任何错误,但我无法弄清楚为什么记录没有在表中写入,而这些记录始终是空的。
用于写行的方法:
public void addFBbitmap(String ID_FB, byte[] image) throws SQLiteException{
qDb.beginTransaction();
try{
String sql = "INSERT INTO FB_ATTRS (ID_FB, IM_FB) VALUES(?,?)";
SQLiteStatement insertStmt = qDb.compileStatement(sql);
insertStmt.clearBindings();
insertStmt.bindString(1, ID_FB);
insertStmt.bindBlob(2, image);
insertStmt.executeInsert();
qDb.setTransactionSuccessful();
qDb.endTransaction();
Log.d(MainActivity.TAG, " Row inserted");
}catch(Exception e){
Log.d(MainActivity.TAG, "Error occured");
e.printStackTrace();
}
}
qDB(SQLiteDatabase)创建如下:
private SQLiteDatabase qDb;
qDb = SQLiteDatabase.openDatabase((new StringBuilder(String.valueOf(dbPath))).append("myAppDB.db").toString(), null, 16);
非常感谢提前。
答案 0 :(得分:0)
在每次App运行时删除数据库时出现问题的根本原因,这在数据更改时是错误的。我通过在升级时删除数据库解决了这个问题:
public void onUpgrade(SQLiteDatabase sqlitedatabase, int oldVersion, int newVersion)
{qCtx.deleteDatabase(DB_NAME_BDD));}