GET MAX ID ROW OF A TABLE

My question is about how get the max id row of a table... I'm using max function but give me a error

Here is my code

     public static long getLastIdQuotaAdded(Context context){
    long id;
    Cursor cursor;
    String selection = null;
    String[] selectionArgs = null;

    selection = "MAX(" + C_ID + ")";

    cursor=context.getContentResolver().query(URI, ALL_COLUMNS, selection, selectionArgs, null);
    id = cursor.getLong(cursor.getColumnIndex(C_ID));
    return id;
}

Thank you for yout help... :)

Answers


Your query (even the part that is visible) is not valid SQL.

To get the maximum value of a specific column, use something like this:

SELECT MAX(_id) FROM mytable;

In SQLite, if your ID is the Row ID (see the documentation), you can just do:

SELECT last_insert_rowid();

there is a table named sqlite_sequence in SQLITE that is used to store the auto_increment_key.

this is the query to get latest auto_increment_key values.

Cursor cursor = db.rawQuery("SELECT seq FROM sqlite_sequence WHERE name=?",
                new String[] { TABLE_NAME });
int last = (cursor.moveToFirst() ? cursor.getInt(0) : 0);

Need Your Help

How to deal with a property memory management in IOS?

iphone objective-c ios memory-management

in my app, I have an IBAction method to change view to a another view :

Proper way to pass on “this” to custom Tap event callback

javascript jquery touch this tap

I picked up a some code for a JavaScript tap event for touch devices here : GitHub page. Credit to Jørn Kinderås for this code.

In C++, I want my interface, .h to say int GetSomeInt() const;… but actually the method *DOES* update “this”. Is there a way to do it without changing the .h?

c++ const

I'm adding some lazy initialization logic to a const method, which makes the method in fact not const. Is there a way for me to do this without having to remove the "const" from the public interfa...