我在我的应用程序中使用外部数据库,我想从数据库中获取最大的报告代码(例如 13-T005)并将其递增 1。但是我正在努力获取最后 3 位,因为我使用了“int”它只得到最后一个数字。我怎样才能得到报告代码的最后 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);
}
数据库处理程序.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;
}