2013-04-21 28 views
11

Tôi biết đó là câu hỏi cơ bản, nhưng tôi không thể tìm thấy vấn đề. Tôi cố gắng lấy một số cột với rawQuery.Truy vấn Chọn Sqlite với rawQuery tại Android

SQLiteDatabase db=database.getReadableDatabase(); 

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

Tôi luôn nhận được ngoại lệ tương tự.

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

Tôi có 5P ở bảng CAR, tôi chắc chắn vì tôi đã sử dụng các truy vấn khác.

Trả lời

20

Bạn có thể cần phải trích dẫn rằng giá trị, hoặc tốt hơn, sử dụng tham số vị trí:

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

Ưu điểm của việc sử dụng tham số vị trí là SQLite sẽ xử lý trích dẫn chuỗi, thoát bất kỳ dấu ngoặc kép nhúng vv

Các vấn đề liên quan