2013-04-25 2 views
0

제 신청서에 SQLite 데이터베이스에 청구서 번호를 저장하고 있습니다. 새 청구서 번호를 추가하기 전에 청구서 번호가 DB에 있는지 확인하는 방법. 내 주요 클래스 코드가안드로이드의 sqlite db에 이미 존재하는 값을 확인하는 방법은 무엇입니까?

,

String bill_no_excist_or_not = db.billno_exist_or_not(""+et_bill_number.getText().toString()); 
Log.v("Bill No", ""+bill_no_excist_or_not); 

내 DB 코드,

String billno_exist_or_not(String bill_number){ 

    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cursor = db.query(TABLE_BILL_DETAILS, new String[] { KEY_BILL_NUMBER }, KEY_BILL_NUMBER + "=?" 
        + new String[] { bill_number }, null, null, null, null); 

//after this i don't know how to return the values 

    return bill_number; 
} 

이미 사용 가능 여부를 DB에있는 값을 확인하는 방법을 모르겠어요. 아무도 나를이 문제를 해결하는 데 도움 주시기 바랍니다 수 있습니다.

답변

1

다음은 값을 데이터베이스에서 사용할 수 있는지 여부를 찾는 데 도움이되는 함수입니다. 여기 내 쿼리와 쿼리를 교환하십시오

..

public int isUserAvailable(int userId) 
    { 
     int number = 0; 
     Cursor c = null; 
     try 
     { 
      c = db.rawQuery("select user_id from user_table where user_id = ?", new String[] {String.valueOf(userId)}); 

      if(c.getCount() != 0) 
       number = c.getCount(); 
     } 
     catch(Exception e) { 
      e.printStackTrace(); 
     } finally { 
      if(c!=null) c.close(); 
     } 
     return number; 
    } 
+0

insertWithOnConflict를 사용하여 삽입 할 수 있습니다 나를이'if (c.getCount()! = 0) number = c.getCount(); }'코드. – Yugesh

+0

쿼리가 성공적으로 실행되어 일치하는 결과를 찾으면 c.getCount가 일치하는 결과의 수를 반환합니다. 데이터베이스의 일부 레코드가 있다고 결론을 내릴 수 있습니다. –

+0

Chirag Raval에게 감사드립니다. – Yugesh

1

는 테이블 UNIQUEKEY_BILL_NUMBER 열을 확인하고 그냥 설명해주십시오 명확하게 이해하고 있지 않다 플래그 여기 SQLiteDatabase.CONFLICT_IGNORE

관련 문제