레코드를보고 해당 데이터를 사용자에게 표시하여 수정할 수있는 활동을 만들고 있습니다. 모든 작업이 완료되면 버튼을 클릭하여 데이터를 다시 데이터베이스에 저장하십시오. 그러나 절약 시간이 다가옴에 따라 "java.lang.IllegalArgumentException : Empty values"오류가 발생합니다. 내 생각에 그것은 SQL 코드 오류라고 생각하지만 SQL에 대해 충분히 알지 못한다. 내가 뭘 잘못했는지보기 위해 두 눈을 볼 수 있을까요? 저장 버튼을 선언하고 청취자가 설정되어있는 경우홀수 데이터베이스 오류 : 값이 비어 있습니까?
감사 ~ Aedon 여기
이다. mBoundService는 데이터베이스를 호스팅하고 호출하는 서비스입니다. DevicesTable은 테이블 및 열 이름을 보유하는 클래스입니다. DevicesTable.gt_fields [0] autoincrementID 후 시리얼, 이름이며, 제 열
public void init() {
mDevName = (EditText)findViewById(R.id.dv_name);
mCurReads = (TextView)findViewById(R.id.dv_readings);
mSave = (Button)findViewById(R.id.dv_save);
mSave.setOnClickListener(new OnClickListener() {
@Override public void onClick(View arg0) {
mBoundService.updateRecord(DevicesTable.gt_name, mId, DevicesTable.g_fields[2], mDevName.getText().toString());
}
});
}
보았고이 데이터베이스는 자신을 호출한다.
/**
* Updates a record at the given table with the given record.
* @param table The table to update
* @param id The id of the actual record. Do not pass the incorrect id!
* @param column The column in which the data is changing
* @param data The data that is to be changed to
*/
public void updateRecord(String table, String id, String column, String data) {
mDB.update(table, null, "SET " + column + " = '" + data + "',", new String[]{"id=" + id});
}
고맙습니다. 잘못된 것을보고있었습니다. 나는 문서가 ContentValues가 선택적이라고 말하고 있으며 WHERE 문을 통해 문자열 조작을 통해 그것을 할 수 있다고 생각했다. – AedonEtLIRA
당신은 아마도 db.rawQuery ("UPDATE some_table SET foo =?, bar =? WHERE id =?", new String [] { "123", "456", "789"} 줄을 따라 뭔가를 생각하고있을 것입니다.)'. – Blrfl