вы, ребята, можете помочь мне проверить, в чем проблема?Я поставил цикл для LastTxnNo , но он не увеличится автоматически.Это инициализированная база данных.
dbHelper = new dbOpenHelper(this);
mSQLiteHelper = new dbOpenHelper(this);
mModels = new ArrayList<>();
mAdapter = new settingAdapter(this, R.layout.row_setting, mModels);
listView1.setAdapter(mAdapter);
У меня есть две таблицы. Это таблица 'Donation_Details', TxnNo должен быть 'A0010001' или '0001' ![enter image description here](https://i.stack.imgur.com/VVcg4.png)
и это таблица «Информация»
![enter image description here](https://i.stack.imgur.com/AIPzY.png)
«Donation_Details» TxnNo должен быть единичным кодом «Информация» + lastTxnNo, означает, что TxnNo должен 'A0010001».и когда я нажимаю кнопку, lastTxnNo будет увеличиваться, и оно изменится на «A0010002».Но я думаю, что упустил немного логики.
Db_Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Model txn = new Model();// initialize your model class first
SettingModel txnSec = new SettingModel();
BigDecimal paidAmt = new BigDecimal(D_Amount.getText().toString()).setScale(2, RoundingMode.HALF_UP);
txn.setName(D_Name.getText().toString());
txnSec.setLastTxnNo(D_Txn.getText().toString());
txn.setTxnDate(Select_Date.getText().toString());
txn.setAmount(paidAmt);
txn.setDescription1(D_Description.getSelectedItem().toString());
txn.setDescription2(Ds_Description.getText().toString());
try {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("name", txn.getName());
cv.put("TxnNo", String.format("%04d", i));
cv.put("TxnDate", txn.getTxnDate());
cv.put("Amount", txn.getAmount().toPlainString());
cv.put("Description1", txn.getDescription1());
cv.put("Description2", txn.getDescription2());
db.insert("Donation_Details", null, cv);
db.close();
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(Donation_Page.this);
SharedPreferences.Editor editor = app_preferences.edit();
int i = app_preferences.getInt("key", 0);
i = ++i;
txnSec.setLastTxnNo(i + "");
SQLiteDatabase dbSec = dbHelper.getWritableDatabase();
ContentValues cvSec = new ContentValues();
cvSec.put("TxnNo", String.format("%04d", i));
editor.putInt("key", i).commit();
dbSec.insert("Information", null, cvSec);
dbSec.close();
Toast.makeText(Donation_Page.this, "Add successfully", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
});