Sqlite更新查询语法错误

时间:2015-04-15 18:42:22

标签: android sqlite

每当我尝试更新细节时,我都会在nRating

附近收到语法错误
 public void addRating(String name, String nDate, String nRating,
    String nComment)
{

SQLiteDatabase data = this.getWritableDatabase();

Cursor query = data.rawQuery("update Station Set " + " date " + " = "
    + nDate + "," + " rating " + nRating + "," + " comments "
    + nComment + " Where Stationname " + " = " + name, null);
query.close();

}

2 个答案:

答案 0 :(得分:2)

主要问题当然是你错过了=,正如@Ranjith在评论中指出的那样。

此外,对于Update查询,您应使用execSQL代替rawQuery

因此,不需要Cursor,并在完成数据库后关闭数据库。

public void addRating(String name, String nDate, String nRating,
    String nComment)
{

   SQLiteDatabase data = this.getWritableDatabase();

   data.execSQL("update Station Set " + " date = "
    + nDate + "," + " rating = " + nRating + "," + " comments = "
    + nComment + " where Stationname = '" + name + "'" );

    data.close(); //close the database

}

答案 1 :(得分:1)

评分和评论后您缺少“=”。 更改为:

Cursor query = data.rawQuery("Update Station Set " + " date " + " = " + nDate + "," + " rating = " + nRating + "," + " comments =" + nComment + " where Stationname " + " = " + name, null);
相关问题