微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sqlite在Android上使用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表,我相信,因为我使用其他查询.

您需要引用该值,或者更好地使用位置参数:
String[] args={"5P"};
Cursor crs=db.rawQuery("SELECT * FROM CAR WHERE name = ?",args);

使用位置参数的优点是sqlite将处理引用字符串,转义任何嵌入的引号等.

原文地址:https://www.jb51.cc/sqlite/197576.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐