数据未插入SQLite DB

时间:2013-12-19 15:01:28

标签: java sql sqlite

我有一个问题,数据没有插入数据库,因为错误日志说没有这样的列columntotal存在,这是真的,但columntotal是一个变量,我试图传递到一个名为“购买”的表在一个名为“total”的列中。我是否构造错误的insert语句?

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);
}

2 个答案:

答案 0 :(得分:3)

是的,这是错的。这是管理这个的一种方法:

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

答案 1 :(得分:0)

您必须先构建字符串:

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

然后执行此查询。