这个SQLite Update查询是否正确?

时间:2018-02-07 17:50:21

标签: sqlite

String query = "UPDATE CONTACT SET NAME ='" + 
contact.getName()"',phoneNO='" + 
contact.getContactNumber() + 
"' WHERE ID = "+contact.getId();

1 个答案:

答案 0 :(得分:0)

   "UPDATE CONTACT SET NAME ='" + 
   contact.getName() +
    "',phoneNO='" + 
   contact.getContactNumber() + 
   "' WHERE ID = " +
   contact.getId();

getName()之后缺少“+”。但是这整个方法都有风险,因为名称和其他参数可能包含引号或其他可能导致语句被错误解析的字符(SQL注入)。

使用命名参数嵌入查询字符串会更安全。

   "UPDATE CONTACT SET NAME = @name, phoneNO - @phone WHERE ID = @ID" 

然后在执行时定义@ name,@ phone和@ID的值。这更安全。具体操作方法取决于您使用的数据库和API