アプリで外部データベースを使用しており、データベースから最大のレポート コード (例: 13-T005)を取得し、それを 1 増やしたいと考えています。ただし、「int」を使用しているため、最後の 3 桁を取得する方法に苦労しています。最後の桁のみを取得します。問題なくレポート コードの最後の 3 桁を取得するにはどうすればよいですか。レポート コード全体を取得するにはどうすればよいですか? ありがとう。
私の MainActivity.java で:
private void getNextReportCode() {
tv_Code = (TextView) findViewById(R.id.tv_Code);
String query = "SELECT SUBSTR(MAX(ReportCode),5) AS ReportCode FROM " + Constants.TABLE_REPORT; //getting the last 3 digits from the code
Cursor cursorReportCode = databaseHandler.getLastRCode(query);
int reportCode = cursorReportCode.getInt(cursorReportCode.getColumnIndex(Constants.REPORT_CODE)) +1; //increment by 1
String newReportCode = "13-T" + reportCode;
tv_Code.setText(newReportCode);
}
DatabaseHandler.java
public Cursor getLastRCode(String query) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
if (cursor != null);
cursor.moveToFirst();
db.close();
return cursor;
}