2
나는 데이터베이스를 android에 만들려고 노력해 왔습니다. 데이터베이스가 저장되고 있습니다 (데이터베이스를보기 위해 mySQL 뷰어를 사용했습니다). 그러나 특정 항목을 확인하려고 할 때 boolean
을 사용하면 항상 true를 반환합니다.데이터베이스 쿼리는 항상 true를 반환합니까?
MainActivity.java
public void onClick(View view) {
// TODO Auto-generated method stub
switch(view.getId()){
case R.id.save:
db.addContact(new Contact(input.getText().toString(), "9100000000"));
auth.setText("save");
break;
case R.id.check:
auth.setText("check");
if(db.getContact(output.getText().toString())){
auth.setText("Sucess");
}
else{
auth.setText("Fail");
}
break;
}
}
DatabaseHandler.java
// Getting single contact
public boolean getContact(String id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
KEY_NAME, KEY_PH_NO }, KEY_NAME + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null){
cursor.moveToFirst();
return true;
}
return false;
}
'SQLiteDatabase.query'가 null을 반환하지 않는다고 생각하십시오; 빈 커서 만 – amdixon