68 votes

Comment exécuter une requête SQLite dans une application Android?

Je suis en train d'utiliser cette requête sur mon Android de base de données, mais il ne renvoie pas les données. Ai-je raté quelque chose?

SQLiteDatabase db = mDbHelper.getReadableDatabase();
    String select = "Select _id, title, title_raw from search Where(title_raw like " + "'%Smith%'" +
    ")";        
    Cursor cursor = db.query(TABLE_NAME, FROM, 
            select, null, null, null, null);
    startManagingCursor(cursor);
    return cursor;

112voto

Prashast Points 4064

Cela va vous retourner le nécessaire curseur

Cursor cursor = db.query(TABLE_NAME, new String[] {"_id", "title", "title_raw"}, 
                "title_raw like " + "'%Smith%'", null, null, null, null);

57voto

xiojason Points 489

Sinon, db.rawQuery(sql, selectionArgs) existe.

Cursor c = db.rawQuery(select, null);

27voto

Gautam M. Points 736

Cela fonctionnera également si le motif que vous souhaitez faire correspondre à une variable.

dbh = new DbHelper(this);
        SQLiteDatabase db = dbh.getWritableDatabase();
        Cursor c = db.query("TableName", new String[]{"ColumnName"}
        , "ColumnName LIKE ?" ,new String[]{_data+"%"}, null, null, null);
        while(c.moveToNext())
        {
            // your calculation goes here
        }

1voto

user3530349 Points 1

Essayez ceci, cela fonctionne pour mon code le nom est une Chaîne de caractères:

cursor = rdb.query(true, TABLE_PROFILE, new String[] { ID,
    REMOTEID, FIRSTNAME, LASTNAME, EMAIL, GENDER, AGE, DOB,
    ROLEID, NATIONALID, URL, IMAGEURL },                    
    LASTNAME + " like ?", new String[]{ name+"%" }, null, null, null, null);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X