2014-10-11 4 views
1

sqlite 데이터베이스를 만들었습니다. 사용자가 값을 입력하면 그 값이 이미 존재하는지 확인하고 싶습니다. UPDATE 그렇지 않으면 그 값을 삽입, 나는 테이블에서 발견 된 기록은 그렇지 zero.If 커서를 계산 반환 커서 카운트 하나를 반환 할 뜻 경우값이 sqlite 데이터베이스에 존재하지 않는 경우에만 삽입

public long insertDataCat(String id,String cat) 
{ 
try { 
      SQLiteDatabase db; 
      db = this.getWritableDatabase(); // Write Data 


      ContentValues Val = new ContentValues(); 
      Val.put("IDD", id); 
      Val.put("Categoryy", cat); 

      long rows = db.insert(TABLE_CATEGARY_MASTER, null, Val); 

      db.close(); 
      return rows; // return rows inserted. 

     } catch (Exception e) { 
      return -1; 
     } 

} 
+0

ok 지금 어디에서 쳤습니까? – Siva

+0

값을 삽입하기 전에 존재하는 통화 업데이트 쿼리가 있으면 DB에 이미 레코드가 있는지 확인하고 그렇지 않으면 삽입하십시오. –

+0

다른 방법으로 plzzzzz .... – Ravi

답변

2

먼저 당신은 테이블의 커서 수를 얻을 ...입니다 시도했다 그렇지 않으면 삽입 조작을 수행하십시오.

public long insertDataCat(String id,String cat) 
    { 
    try { 
       SQLiteDatabase db; 
       db = this.getWritableDatabase(); // Write Data 


       ContentValues Val = new ContentValues(); 
       Val.put("IDD", id); 
       Val.put("Categoryy", cat); 
       String selectQuery = "select * from TABLE_CATEGARY_MASTER"; 
       Cursor cursor = db.rawQuery(selectQuery, null);` 
       if(cursor.getCount()==1) 
       { 
       //execute update query here 
      long updaterow=db.update(TABLE_CATEGARY_MASTER,val); 
       return updaterow; // return rows inserted. 
       } 
       else 
       { 
       //Perform the insert query 
       long rows = db.insert(TABLE_CATEGARY_MASTER, null, Val); 
       return rows; // return rows inserted. 
       } 

       db.close(); 


      } catch (Exception e) { 
       return -1; 
      } 

} 
+0

을 활용할 수 있지만 다른 방법은 없습니다 약간의 오류가 발생했습니다 – Ravi

+0

긴 행 = db.update (TABLE_CATEGARY_MASTER, Val, "Categoryy =", cat); – Ravi

+0

그것은 고양이가 문자열 [] – Ravi

관련 문제