每当我尝试更新细节时,我都会在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();
}
答案 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);