db에 값을 한개만 저장하고 싶어서
rawQuery에서 값이 있으면 update를 하고 값이 없으면 insert를 하는 소스를 코딩하고 있습니다.
그런데 자꾸 예외로 넘어가서요.. rawQuery에서 값이 없으면 null을 리턴하는 것이 아닌건가요??
무엇이 잘못 되었을까요 ㅠㅠ 도와주세요
try {
// DB객체 생성(DB가 존재하지 않으면 생성함)
dbmgr = new DBManager(this);
SQLiteDatabase sdb;
//DB연결
sdb = dbmgr.getWritableDatabase();
Cursor cursor = sdb.rawQuery("select str_due_date from baby",null);
if( cursor == null ){
//baby 테이블에 추출정보 추가
sdb.execSQL("insert into baby values('" + str_due_date + "', '" + str_sex + "');");
Toast.makeText(v.getContext(), "insertOk", 0).show();
}
else
{
//baby 테이블 업데이트
sdb.execSQL("update baby set due_date = '" + str_due_date + "', 'sex = '" + str_sex + " '");
Toast.makeText(v.getContext(), "updateOk", 0).show();
}
} catch(SQLiteException e) {
Toast.makeText(v.getContext(), "insertFail", 0).show();
} finally {
//DB닫음
dbmgr.close();
}