편집 할 때 레코드를 업데이트하는 데 문제가 있습니다. 데이터베이스 업데이트 방법에 대한 올바른 코드를 모르기 때문에 DatabaseHandler에 있다고 생각합니다. 누군가이 문제를 해결하도록 도울 수 있습니까?안드로이드에서 SQLite의 테이블에서 레코드를 업데이트하지 않습니다.
btn_Update.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String ReportCode = tv_Code.getText().toString();
//Casting and conversion for district code
String District = spn_District.getSelectedItem().toString();
Cursor rDistrict = databaseHandler.getReport_DistrictCode(District);
String DistrictCode = rDistrict.getString(rDistrict.getColumnIndex(Constants.DISTRICT_CODE));
//Casting and conversion for province id
String Province = spn_Province.getSelectedItem().toString();
Cursor rProvince = databaseHandler.getReport_ProvinceId(Province);
String ProvinceCode = rProvince.getString(rProvince.getColumnIndex(Constants.PROVINCE_ID));
//Casting and conversion for InfoType id
String InfoType = spn_InfoType.getSelectedItem().toString();
Cursor rInfoType = databaseHandler.getReport_InfoTypeCode(InfoType);
String InfoTypeCode = rInfoType.getString(rInfoType.getColumnIndex(Constants.INFORMATIONTYPE_CODE));
int IsCompetitor = chkString;
String DateObserved = txt_Date.getText().toString();
String Remarks = txt_Remarks.getText().toString();
//UPDATE IREPORT
databaseHandler.UpdateReport(new Cons_iReport (ReportCode, InfoTypeCode, DistrictCode, ProvinceCode, DateObserved, IsCompetitor, Remarks));
Toast.makeText(getApplicationContext(), "UPDATE!", Toast.LENGTH_SHORT).show();
}
});
DatabaseHandler.java
public void UpdateReport(Cons_iReport save){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Constants.REPORT_CODE, save.getReportCode()); // Save Report Code
values.put(Constants.REPORT_DISTRICTCODE, save.getDistrict()); // Save District
values.put(Constants.REPORT_PROVINCECODE, save.getProvince()); // Save Province
values.put(Constants.REPORT_ISCOMPETITOR, save.getCompetitor()); // Save isCompetitor
values.put(Constants.REPORT_INFOTYPECODE, save.getInfoType()); // Save infoType
values.put(Constants.REPORT_DATEOBSERVED, save.getDateObserved()); // Save Date Observed
values.put(Constants.REPORT_REMARKS, save.getRemarks()); // Save Remarks
db.update(Constants.TABLE_REPORT, values, Constants.REPORT_CODE+" = ?", null);
db.close();
}
db.update의 반환 값을 확인하여 시작하십시오. – njzk2
다음 업데이트 설명서를 읽고 선택 사항에 결함이 있는지 확인하십시오. 너? 매개 변수의 null 배열과 일치 할 수 없습니다. – njzk2