I am trying to insert the null values when the variable really has null value. This is that method which adds the data to database,
public long addData(String text,String date, String location,byte[] smiley,byte[] image, byte[] audio, byte[] video) {
ContentValues cv = new ContentValues();
cv.put(KEY_TEXT, text);
cv.put(KEY_DATE, date);
cv.put(KEY_LOCATION, location);
if(smiley==null || image==null|| audio==null|| video==null)
{
if(smiley==null)
{
cv.putNull(KEY_SMILEY);
}
else
{
cv.put(KEY_SMILEY, smiley);
}
if(image==null)
{
cv.putNull(KEY_IMAGE);
}
else
{
cv.put(KEY_IMAGE, image);
}
if(audio==null)
{
cv.putNull(KEY_AUDIO);
}
else
{
cv.put(KEY_AUDIO, audio);
}
if(video==null)
{
cv.putNull(KEY_VIDEO);
}
else
{
cv.put(KEY_VIDEO, video);
}
}
long val=ourDatabase.insertOrThrow(TABLE_NAME, null, cv);
return val;
}
I have created table using
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(" CREATE TABLE " + TABLE_NAME + "( "+ KEY_TEXT + " TEXT NOT NULL, " +
KEY_DATE + " TEXT NOT NULL UNIQUE, " +
KEY_LOCATION + " TEXT , " +KEY_SMILEY+ " BLOB, "
+ KEY_IMAGE + " BLOB , " + KEY_AUDIO + " BLOB, "
+ KEY_VIDEO + " BLOB, " + KEY_ID+" INTEGER PRIMARY KEY "+");"
);
}
but unfortunately it throws exception android.database.sqlite.SQLiteConstraintException: Diary.smiley may not be NULL (code 19)