2016-12-21 47 views
0

我只是想二進制數據插入到一個BLOB字段,我得到一個錯誤:錯誤insrting一滴到SQLite表時

java.sql.SQLException: not implemented by SQLite JDBC driver 
    at org.sqlite.Unused.unused(Unused.java:31) 
    at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:588) 
    at db.DbFunctionsMap.sqlInsertWithBinary(DbFunctionsMap.java:42) 
    at maps.MapCacheHelper.cacheMapDef2Db_externalize(MapCacheHelper.java:217) 
    at maps.MapCacheHelper.cacheMapDefs(MapCacheHelper.java:185) 

我有以下代碼:

PreparedStatement prep = connectionWrite.prepareStatement("INSERT INTO mapdefcache (identifier,cache) values('myid',?)"); 
prep.setBytes(1, binarydata); 
prep.executeUpdate(sql); <<<< !----------- not implemented by SQLite JDBC driver ! 
prep.close(); 

binarydata是的類型byte[]

有人可以幫我嗎?

+0

什麼是'sql'變量? –

+0

對不起,浪費你的時間,非常感謝。從executeUpdate及其工作中刪除sql作爲參數。我應該刪除這個問題,因爲它很愚蠢。錯誤來自複製代碼。 –

+0

此問題可能對其他具有相同問題的人仍有幫助。如果您有答案,請將其寫爲答案。 –

回答

0

對不起,這個愚蠢的問題都困擾着。首先,我想刪除這個問題,但也許有人陷入同一陷阱。

我從「互聯網」複製了一些代碼,錯誤地沒有看到prep.executeUpdate的參數已經過時,並認爲它是blob的問題。 所以簡單 prep.executeUpdate();訣竅。