query.exec("update MYNODE set XPOS='"+ x +"',YPOS='" + y +"' where ID ='" + QString::number(id) +"'");
有参数的情况下,最好使用占位符加bindValue来执行,尤其是有 QDateTime之类的
例如你的这个例子
query.prepare("UPDATE MyNote SET XPOS=:XPOS, YPOS=:YPOS WHERE ID=:ID");
query.bindValue(":XPOS", x);
query.bindValue(":YPOS", y);
query.bindValue(":ID", id);
query.exec(); // 执行更新语句
这样看上去,SQL语句是不是非常清晰,bindValue你也不用去担心转数类型的转换,Qt会给你处理。