我在我的应用程序中使用外部数据库,我想从数据库中获取最大报告代码(例如13-T005),并将其增加1.但是我一直在努力如何获得最后3位数字,因为我使用'int',它只能得到最后一位数字。我怎样才能得到报告代码的最后3位数字,而没有任何问题,或者更好的报告代码本身?谢谢。如何在Android中自动增加数据库中的代码?
在我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;
}
考虑让'reportCode'一个'String',并使用'cursorReportCode.getString(...)'? – LuckyMe
@LuckyMe我实际上做了这个解决方案,但是如何通过使用String来增加它? – androidBoomer
似乎像其他人一样打我说明:) – LuckyMe