2012-02-22 5 views
1

BLOB 데이터를 sqlite에 저장하려고합니다. bloc에 값이 있지만 null로 imageData를 추가합니다. SQL에 bloc 값을 넣어야합니까?안드로이드에서 blob 데이터를 sqlite에 삽입하는 중 오류가 발생했습니다.

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

편집 : 당신이 sqlite3를 위해 DB를 업그레이드해야 의미는 SQLiteManager를 통해 DB를 실행하는 동안이 작업 후 질문

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 형식으로 변환하려면 어떻게해야합니까? –

관련 문제