2012-02-22 15 views
1

BLOBデータをsqliteに保存したいのですが、blocには値がありますがnullとしてimageDataを追加します。 SQLにblocの値を入れてもいいですか?androidのsqliteにBLOBデータを挿入中にエラーが発生しました

String x = getResultAsOnlyValue("soapImage", xdata); 
byte[] bloc = Base64.decode(x, Base64.DEFAULT); 
Bitmap bmp = BitmapFactory.decodeByteArray(bloc,0,bloc.length); 
SQLiteStatement statement = db.compileStatement("insert into ImageTable (imageData) values(?)"); 
statement.bindBlob(0, bloc); 
statement.execute(); 

答えて

1

EDITED:あなたはsqlite3のためにあなたのDBをアップグレードする必要があることを意味したSQLiteManagerを経由してDBを実行しようとしているときに、この操作の後QUESTION

String x = getResultAsOnlyValue("soapImage", xdata); 
byte[] bloc = Base64.decode(x, Base64.DEFAULT); 
Bitmap bmp = BitmapFactory.decodeByteArray(bloc,0,bloc.length); 
SQLiteDatabase db = getDb(); 
ContentValues values = new ContentValues(); 
values.put("ImageData", bloc); 
db.insert("imageTable", null, values); 

への答えあなたはNS_ERROR_FILE_CORRUPTEDエラーが発生した場合。 In this linkこれを行う方法を教えてくれます。

0

おはよう、この答えを試してみる:Convert Drawable to BLOB Datatype

私はそれはあなたが探しているものだと思います。

+0

実際には、BLOBデータを追加した後に "NS_ERROR_FILE_CORRUPTED"エラーが発生するため、問題はsqlitemanagerのバージョンに関係していると思います。いくつかのグーグルで私はこのfaqを見つけた後、 "開いて/ sqliteのDBファイルに接続しようとするとエラーが発生します。なぜですか? エラーが発生した場合、アラートによって例外名NS_ERROR_FILE_CORRUPTEDが表示されます。これは、(a)開いているファイルがsqlite dbファイルではないか、(b)sqliteの古いライブラリで作成したsqlite dbファイルを開こうとしている可能性があります sqlite2からsqlite3に変換するにはConvert_sqlite2_to_sqlite3_format –

+0

の指示に従います。sqlite2をsqlite3形式に変換するにはどうすればよいですか? –

関連する問題