2014-03-19 1 views
0

전화 번호 (번호)가 존재하지 않지만 코드가 작동하지 않는 경우에만 일부 값 (메시지 본문 및 날짜)을 데이터베이스에 삽입하려고합니다. 조언 좀 해줄 수 있니?Android/SQLite. 여과로 여러 값을 데이터베이스에 삽입 하시겠습니까?

SQLiteDatabase db = this.getWritableDatabase(); 


    Cursor cursor = db.rawQuery("INSERT INTO version2 (number, body, date) values ("+number+","+body+","+ date+") SELECT "+number+" WHERE NOT EXISTS " 
      + "(SELECT 1 FROM version2 WHERE number = "+number+")", null); 

    if (cursor.moveToFirst()) { 
     do { 

     } while (cursor.moveToNext()); 

    } 
} 

답변

0

이 쿼리를 사용해보십시오.

레코드를 삽입하는 동안 선택 검색어와 비슷해 보입니다.

INSERT INTO version2 (number, body, date) values ("+number+","+body+","+ date+") WHERE number IS NOT NULL or number <> ''; 
0

중복되는 전화 번호를 확인하는 방법을 만들어야합니다.

private boolean isPhoneExists (long number) 
{ 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cursor = db.rawQuery("select phone from version2 where number = " + number, null); 

    if (cursor.getCount() > 0) 
    return true; 
    else 
    return false; 
} 

// 이제 삽입 문

if (!isPhoneExists ("987654321")) 
{ 
     Cursor cursor = db.rawQuery("INSERT INTO version2 (number, body, date) values ("+number+","+body+","+ date+") 
    .... 
} 
관련 문제