android sql表更新错误

时间:2015-03-15 19:11:09

标签: android sqlite android-sqlite

当我尝试更新表时,它不会返回任何错误。但是更新不起作用。

这是我的插入和更新查询

有人能说出来有什么问题吗?

我的插入声明(工作)

 public long insertValueWithOnDate(int ParameterId,String value,String date,String operation)
{
    ContentValues initialValues = new ContentValues();
    initialValues.put(KEY_PARAMETER_ID, ParameterId);
    initialValues.put(KEY_UNIT_VALUE, value);
    initialValues.put(KEY_OPERATION, operation);
    initialValues.put(KEY_ON_DATE, date);
    initialValues.put(KEY_OFF_DATE, "");
    return db.insert(DATABASE_TABLE, null, initialValues);
}

我的更新声明(不工作)

public void insertValueWithOfDate(int ParameterId,String value,String date,String operation)
{
    db.execSQL("update Entries set operation='"+operation+"',offdate='"+date+"',value='"+value+"' where parameterId='"+ParameterId+"' and operation='"+"onn"+"' and offdate='"+null+"'");
}

我的表格结构如下

    _id   parameterId   operation   ondate       offdate       value
--------------------------------------------------------------------
      1      1        on       15-03-2015       15-03-2015       0
      2      1        on       15-03-2015           null         0

提前致谢...

1 个答案:

答案 0 :(得分:0)

我认为你的where子句在parameterId参数中是错误的:

...parameterId='"+ParameterId+"' ....

我猜parameterId是一个int,所以你应该删除引号:

...parameterId="+ParameterId+" ....

并且offdate参数应该是:

and offdate is null