【问题标题】:Data Not Inserting into SQLite DB数据未插入 SQLite DB
【发布时间】:2026-01-12 04:05:01
【问题描述】:

我有一个问题,即数据没有被插入到数据库中,因为错误日志显示不存在名为 columntotal 的此类列,这是真的,但 columntotal 是一个变量,我试图将它传递到名为“purchases”的表中在名为“总计”的列中。我的插入语句构造错误吗?

public double calculateTotal() {
    double columntotal = 0;
    Cursor cursor1 = db.rawQuery(
    "SELECT SUM(price) FROM purchases", null);
    if(cursor1.moveToFirst()) {
        columntotal = cursor1.getDouble(0);
    }
    cursor1.close();

    return columntotal;
}

public void insertTotal() {
    db.rawQuery("INSERT INTO purchases(total) VALUES(columntotal)", null);
}

【问题讨论】:

  • INSERT 不是查询。使用execSQL

标签: java sql sqlite


【解决方案1】:

是的,这是错误的。这是管理此问题的一种方法:

String sql = "INSERT INTO purchases(total)"
           + "VALUES ( ?)";
db.execSQL(sql, new String[]{YOUR_VALUE});

【讨论】:

  • 非常感谢您的回复!这帮助很大!
【解决方案2】:

你必须先构建字符串:

String insertQuery = "INSERT INTO purchases(total)"
       + "VALUES ( ?)";

然后执行这个查询。

【讨论】:

  • 感谢您的帮助!