您好,感谢您的帮助!我的数据库有4列,我需要一种方法来返回每次添加到最后一列的最新项目。列名是spinInterval,值是int。
database http://www.bthindiet.com/datatable.jpg
在我的DbAdapter类中,我设置了一个使用
检索数据的方法 public Cursor fetchReminder(long rowId) throws SQLException {
Cursor mCursor =
mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
KEY_TITLE, KEY_BODY, KEY_DATE_TIME, KEY_SPINNER}, KEY_ROWID + "=" + rowId, null,
null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
我试过的代码是
String repeat = RemindersDbAdapter.KEY_SPINNER.toString();
但返回的只是列spinInterval的名称。查询该信息的正确方法是什么(60 * 60 * 1000 * 8),并且每次将新项目添加到数据库时它是否都有效?我要将该信息添加到我的alarmManager setRepeating调用中。
public class ReminderManager {
private Context mContext;
private AlarmManager mAlarmManager;
String repeat = RemindersDbAdapter.KEY_SPINNER.toString();
private static final String TAG = "MyActivity";
public ReminderManager(Context context) {
mContext = context;
mAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}
public void setReminder(Long taskId, Calendar when) {
Log.e(TAG, repeat);
Intent i = new Intent(mContext, OnAlarmReceiver.class);
i.putExtra(RemindersDbAdapter.KEY_ROWID, (long)taskId);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_ONE_SHOT);
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), repeat, pi);
}
}
任何人都可以帮我找到正确的代码吗?我真的被困在了它上面。
答案 0 :(得分:0)
String selectQuery = "SELECT * FROM" + DATABASE_TABLE +"ORDER BY KEY_ROWID DESC LIMIT 1";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);