2013-04-21 12 views
11

Bunun temel bir soru olduğunu biliyorum, ancak sorun bulamıyorum. rawQuery ile bazı sütunları almaya çalışıyorum.Sqlite RawQuery ile Sorguyu Android'de Sorgula

SQLiteDatabase db=database.getReadableDatabase(); 

    try 
    { 
     String sql="SELECT * FROM CAR WHERE name = "; 
     Cursor crs = db.rawQuery(sql+"5P", null); 
    } 

Her zaman aynı özel durumu alırım.

android.database.sqlite.SQLiteException: **unrecognized token**: "5P": , while compiling: SELECT * FROM CAR WHERE name = 5P 

CAR tablosunda 5P'im var, eminim ki diğer sorguları kullandım.

cevap

20

You ya konumsal parametreler kullanmak, daha iyisi bu değeri veya alıntı yapmak gerekir:

String[] args={"5P"}; 
Cursor crs=db.rawQuery("SELECT * FROM CAR WHERE name = ?", args); 

konum parametreleri kullanmanın avantajı SQLite vb

, dize alıntı herhangi gömülü tırnak kaçan idare edecek olmasıdır