sql - Android SQLite :Unable to solve syntax error in query

标签 sql sqlite

我正在每个选项卡上更新购物车,在代码中我正在更新购物车项目,但显示语法错误。

 ContentValues values = new ContentValues();
    DbHelper dbHelper = new DbHelper(context);

    SQLiteDatabase database;
    database=  dbHelper.getWritableDatabase();

    values.put(DbConstants.COLUMN_MEMBER, cartItemBean.getCOLUMN_MEMBER());
    values.put(DbConstants.COLUMN_DATE, cartItemBean.getCOLUMN_DATE());
    values.put(DbConstants.COLUMN_TIME, cartItemBean.getCOLUMN_TIME());

    String sql2 = "UPDATE " + DbConstants.TABLE_CART + " SET " +
            DbConstants.COLUMN_MEMBER + " = '" + cartItemBean.getCOLUMN_MEMBER() + "' AND "
            + DbConstants.COLUMN_DATE + " = '" + cartItemBean.getCOLUMN_DATE() + "' AND "
            + DbConstants.COLUMN_TIME + " = '" + cartItemBean.getCOLUMN_TIME() + "' AND "
            + DbConstants.COLUMN_TOTAL_PRICE + " = '" + cartItemBean.getCOLUMN_TOTAL_PRICE() + "' AND "
            + "' WHERE " +
            DbConstants.COLUMN_PACKID + " = '" + cartItemBean.getCOLUMN_PACKID() + "' AND "
            + DbConstants.COLUMN_USERID + " = '" + cartItemBean.getCOLUMN_USERID() + "'";

     database.execSQL(sql2);

最佳答案

您添加了 AND 而不是 逗号,删除它即可解决问题。

将查询更改为:

String sql2 = "UPDATE " + DbConstants.TABLE_CART + " SET " +
        DbConstants.COLUMN_MEMBER + " = '" + cartItemBean.getCOLUMN_MEMBER() + "', "
        + DbConstants.COLUMN_DATE + " = '" + cartItemBean.getCOLUMN_DATE() + "', "
        + DbConstants.COLUMN_TIME + " = '" + cartItemBean.getCOLUMN_TIME() + "', "
        + DbConstants.COLUMN_TOTAL_PRICE + " = '" + cartItemBean.getCOLUMN_TOTAL_PRICE() + "' "
        + " WHERE " +
        DbConstants.COLUMN_PACKID + " = '" + cartItemBean.getCOLUMN_PACKID() + "' AND "
        + DbConstants.COLUMN_USERID + " = '" + cartItemBean.getCOLUMN_USERID() + "'";

检查此 tutorial 中的示例.

关于sql - Android SQLite :Unable to solve syntax error in query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513458/

相关文章:

python - sqlite3.操作错误: unrecognized token: "01T00" Python datestamp

Python:在 sqlite3 或 mysql 中存储字符串列表的正确方法

sql - 两列SQL的唯一组合值

iphone - 在 iOS 5 中编译时出现 SQlite 3 错误

mysql - 在没有 Intersect 的 MariaDB 中进行 Intersect 查询时出错

c# - 如何将列名和表名作为 SQL Server 中的参数传递给存储过程?

java异常: Operation not allowed after ResultSet closed

php - 如何借助纬度和经度在 30 公里范围内找到位置

mysql - 结合 2 个不同的 SQL 查询。根据条件列输出

android - sqlite setlocale 错误