Tôi có một bàn question_table
và một ImageButton
( Quay lại ). Tôi cần lấy bản ghi được chèn lần cuối từ cơ sở dữ liệu sau khi nhấp vào Quay lại .
Hàng của tôi chứa các cột sau: question
, optionA
, optionB
, optionC
, optionD
, và tôi cần các dữ liệu để sử dụng trên của tôi Activity
. Tôi tạo một phương thức trong cơ sở dữ liệu nhưng nó không hoạt động.
Đây là mã để tham khảo:
Trích xuất MySQLiteHelper.java :
public List<ObjectiveWiseQuestion> getLastInsertQuestion()
{
// long index = 0;
List<ObjectiveWiseQuestion>LocwiseProfileList=new ArrayList<ObjectiveWiseQuestion>();
db = getReadableDatabase();
Cursor cursor = db.query(
"sqlite_sequence",
new String[]{"seq"},
"name = ?",
new String[]{TABLE_QUESTION},
null,
null,
null,
null );
if (cursor.moveToFirst())
{
do {
ObjectiveWiseQuestion owq= new ObjectiveWiseQuestion();
owq.setQuestion(cursor.getString(2));
owq.setOptionA(cursor.getString(3));
owq.setOptionB(cursor.getString(4));
owq.setOptionC(cursor.getString(5));
owq.setOptionD(cursor.getString(6));
owq.setCorrectOption(cursor.getString(7));
LocwiseProfileList.add(owq);
} while(cursor.moveToNext());
db.close();
}
return LocwiseProfileList;
}
OnClickListner
từ AddQuestionActivity.java
imgBack.setOnClickListener( new View.OnClickListener()
{
@Override
public void onClick(View v)
{
msg();
emptyFormField();
try {
final List<ObjectiveWiseQuestion> LocWiseProfile = db.getLastInsertQuestion();
for (final ObjectiveWiseQuestion cn : LocWiseProfile)
{
db=new MySQLiteHelper(getBaseContext());
db.getWritableDatabase();
txtQuestion.setText(cn.getQuestion());
txtOptionA.setText(cn.getOptionA());
txtOptionB.setText(cn.getOptionB());
txtOptionC.setText(cn.getOptionC());
txtOptionD.setText(cn.getOptionD());
txtCorrectOption.setText(cn.getCorrectOption());
db.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
});
Xin vui lòng cho tôi một số gợi ý.
sqlite
phải sắp xếp tất cả hồ sơ bằng id của họ (chậm) trước khi trở về kết quả, Stephen Nguyễn đã yêu cầu tối ưu vớiDESC
vàLIMIT 1