SQLiteAssetHelper를 사용하여 sqlite 데이터베이스를 만들었으므로 CRUD 작업을 올바르게 수행 할 수 있습니다. 그러나 어떤 행을 반환하려면 다음 Select 문을 가져올 수 없습니다.Android SQLite 비 기본 키 열로 선택
String query = "Select * from Student where serial=?";
Cursor c = rawQuery(query, String[]{serial.trim()});
serial 값은 처음에는 null이며 응용 프로그램에서 업데이트됩니다. 내 업데이트 검색어는 다음과 같습니다.
ContentValues cv = new ContentValues();
cv.put("serial", serial.trim());
cv.put("isactivated", 1);
//This returns "1" meaning 1 row was affected
mDb.update("Student", cv, "uid=?", new String[]{String.valueOf(student.getUid())});
데이터베이스의 일련 필드가 기본 키가 아닙니다. 이것이 작동하지 않는 이유입니까? 기본 키에 의해 SELECT 문이 잘 작동 :
String query = "Select * from Student where id=?";
Cursor c = rawQuery(query, String[]{String.valueOf(id)});
이 0 행을 반환 완벽하게 일치하는 경우 필요하지 않습니다? urcat은 뭐라구? –
비 기본 키를 사용하여 데이터베이스에서 데이터를 가져올 수도 있으며 업데이트 후 일련 번호를 확인할 수 있습니까? –
메이트 (mate),'serial' 칼럼은 실제 값을 가지거나 null입니까? 업데이트가 실제로 어떤 작업을 수행합니까? select 쿼리는 괜찮은 것처럼 보입니다.'serial'은'null'이 아닌 값을 가지며, 그렇지 않으면 select 쿼리는 아무것도 반환하지 않습니다. – Leo