我知道这是一个基本问题,但我找不到问题.
我尝试用rawQuery获取一些列.
我尝试用rawQuery获取一些列.
sqliteDatabase db=database.getReadableDatabase(); try { String sql="SELECT * FROM CAR WHERE name = "; Cursor crs = db.rawQuery(sql+"5P",null); }
我总是得到同样的例外.
android.database.sqlite.sqliteException: **unrecognized token**: "5P":,while compiling: SELECT * FROM CAR WHERE name = 5P
我有5P在CAR表,我相信,因为我使用其他查询.
您需要引用该值,或者更好地使用位置参数:
原文链接:https://www.f2er.com/sqlite/197576.htmlString[] args={"5P"}; Cursor crs=db.rawQuery("SELECT * FROM CAR WHERE name = ?",args);
使用位置参数的优点是sqlite将处理引用字符串,转义任何嵌入的引号等.