2014-09-06 4 views
0

내 안드로이드 응용 프로그램에서 onCreate() 메서드로 sqlite 데이터베이스를 만들고 내 서버의 csv 파일에서 가져온 정보로 채워집니다.데이터베이스 sqlite android 다시 작성

내 문제는 응용 프로그램이 시작될 때마다 내 데이터베이스가 동일한 정보로 다시 채워진다는 것입니다. 따라서 앱이 3 번 실행되면 내 데이터베이스에 동일한 데이터가 3 번 채워집니다.

먼저 출시 :

ID   NAME  AGE   ADDRESS  SALARY 
---------- ---------- ---------- ---------- ---------- 
1   Paul  32   California 20000.0 
2   Allen  25   Texas  15000.0 

둘째 :

ID   NAME  AGE   ADDRESS  SALARY 
---------- ---------- ---------- ---------- ---------- 
1   Paul  32   California 20000.0 
2   Allen  25   Texas  15000.0 
1   Paul  32   California 20000.0 
2   Allen  25   Texas  15000.0 

셋째 :

ID   NAME  AGE   ADDRESS  SALARY 
---------- ---------- ---------- ---------- ---------- 
1   Paul  32   California 20000.0 
2   Allen  25   Texas  15000.0 
3   Paul  32   California 20000.0 
4   Allen  25   Texas  15000.0 
5   Paul  32   California 20000.0 
6   Allen  25   Texas  15000.0 

는 어떻게이 상황을 처리 할 수 ​​있습니까? csv의 데이터가 db에없는 경우에만 내 db가 채워지기를 바랍니다.

아이디어가 있으십니까?

+2

예. 'INSERT' 대신에'REPLACE'를 사용하십시오. 이미 기존 항목은 ** 업데이트 ** ('동일한 값을 갖고 있어도')이며 기존 항목이 아닌 항목은 ** 삽입 **됩니다. –

+0

기존 열을 대체 할 때마다 원치 않는 CPU 오버 헤드가 발생합니까? –

+0

아니, db.insert 대신 db.replace (TABLE_NAME, null, contentValues)를 시도했는데 동일한 문제가 발생합니다. – slash89mf

답변

0
Cursor cursor = mDB.rawQuery("select ID from TABLE where ID = 1;", null); 

if(cursor.getCount()==0) 
{ 
    // now you can insert the record 
} 
else 
{ 
    // your handle 
} 
관련 문제