0
您好,感谢您的帮助!我的数据库有4列,我需要一种方法来返回每次添加到最后一列的最新项目。列名是spinInterval,值是一个int。数据库查询只返回列名
database http://www.bthindiet.com/datatable.jpg
以我将对DBAdapter I类建立了一套方法用于检索数据与
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;
}
我尝试的代码被
字符串重复= 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);
}
}
谁能帮我这个正确的代码?我真的被困住了。
你是什么意思“返回最新的项目添加到最后一列”你想按日期排序并返回最新的最后一行..然后得到最后一列值? – JustinDanielson 2013-05-13 18:14:14
你不是在你提供的代码中调用你的fetchReminder,你应该这样做。以及检查mDb是否不为空。如果它为空,请在查询之前打开数据库。 – JustinDanielson 2013-05-13 18:15:51
我需要通过id号对它进行排序。 3是最新的,现在需要那个。下一次用户保存了一个新的提醒,它会是ID 4,我会需要第4行spinInterval结果等我不知道什么代码来实现 – JeffK 2013-05-13 18:25:21