2015年5月18日 星期一

SQLite using rawQuery

目的:

在android中使用SQLiteDatabase.rawQuery( query, whereArgs ) 進行query。

操作:

            String query = "SELECT r.id FROM %s c INNER JOIN %s r ON c.name = r.name WHERE c.id = ?" ;
            query = String.format( query, src_table_name, change_table_name, 0 ) ;
            String[] whereArgs = new String[] { String.valueOf( id ) } ;
            Cursor c = db.rawQuery( query, whereArgs ) ;

Q1. 「?」使用在table name位置時,android 會出現SQLException,無法執行。

A1. 使用String.format,搭配「%s」方式導入table name,但其他條件仍使用whereArgs方式,在query時帶入。

沒有留言:

張貼留言