当我从SQLite中检索blob值时,它会提供不同的值,因为它存储在数据库中

时间:2012-07-31 12:54:54

标签: android database sqlite cursor blob

当我从SQLite中检索blob值时,它会提供不同的值,因为它存储在数据库中。我不知道为什么会这样。当我使用cursor.getString()时,它会给出相同的值。但是当我使用curser.getBlob()时,它会给出不同的价值。此外,当我使用cursor.getString()bytes[]值转换为getBytes()时,它会再次转换为存储在数据库中的不同值。

请告诉我解决方案,因为我无法找到原因。

1 个答案:

答案 0 :(得分:2)

我认为您已使用插入查询将数据插入sqlite数据库。 在我看来你shud使用以下方法插入数据也图像。

CREATE TABLE IF NOT EXISTS " + DB_TABLE + "("+ 
               KEY_NAME + " TEXT," + 
               KEY_IMAGE + " BLOB);";

ContentValues cv = new  ContentValues();
cv.put(KEY_NAME,    name);
cv.put(KEY_IMAGE,   image);
database.insert( DB_TABLE, null, cv );

使用此方法应该可行。如果不是那么请告诉我。 Gud运气。