0

您好,感谢您的帮助!我的数据库有 4 列,我需要一种方法来每次返回添加到最后一列的最新项目。列名是 spinInterval,值是 int。

数据库 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);
}

}

任何人都可以帮我提供正确的代码吗?我真的坚持下去了。

4

1 回答 1

0
String selectQuery = "SELECT * FROM" + DATABASE_TABLE  +"ORDER BY KEY_ROWID DESC LIMIT 1";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
于 2013-05-13T18:32:47.840 回答