数据库查询仅返回列名称

时间:2013-05-13 18:07:14

标签: android database

您好,感谢您的帮助!我的数据库有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);
}

}

任何人都可以帮我找到正确的代码吗?我真的被困在了它上面。

1 个答案:

答案 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);