2017-03-20 68 views
0

對不起,我是英文的,我是谷歌翻譯家的追隨者。Sqlite插入不工作(安靜地)在Android 6.0下

奇怪的行爲是完全平庸的代碼。在Android 6.0以下的設備上,按預期工作。在具有API23的模擬器上工作。但是在真正的設備上(在幾種不同的型號上)使用android 6.0插入的數據不能被讀回。

 try { 
      long insertResult = db.insert(ibLocalBase.Tables.PhotoHeaders.TableName, null, valuesHeaders); 
      insertResult = db.insert(ibLocalBase.Tables.PhotoBodies.TableName, null, valuesBodies); 

      db.setTransactionSuccessful(); 

     } finally { 
      db.endTransaction(); 
     } 

交易成功。 insertResult具有很好的價值(相同)。 但後來 - 我可以在PhotoHeaders中獲取我的數據,但PhotoBody中沒有任何數據。表PhotoBody是空的!僅在Android 6.0設備上!

+0

使用'insertOrThrow()'代替。 –

+0

** insertOrThrow()**奇蹟般地工作!非常感謝! – mamachiao

+0

這應該沒有什麼區別...... –

回答

0

嘗試使用SQL命令,而不是:

db.execSQL("insert into your table_name (data_one,data_two)" + "values("value_one+","+value_two+ "\"" + ") ;");