public int update(NodeMess nodeMess) {
Connection conn = db.openConnection();
String sql = "update sensor_node2 set sensor_id = ?,sensor_addr = ? , sensor_port = ? ," +
"sensor_status = ? where sensor_id = ?";
int count = db.update(conn,sql,nodeMess.getSensor_id(),nodeMess.getSensor_addr(),nodeMess.getSensor_port(),
nodeMess.getSensor_status());
db.closeConnection(conn);
return count;
}
1.注意看sql语句占位符跟传入的参数个数是否一致
如上所示占位符“?”有5个,但是传入的参数粗心只写了4个
2.注意主键不能修改,即这里的sensor_id
改正后:
public int update(NodeMess nodeMess) {
Connection conn = db.openConnection();
String sql = "update sensor_node2 set sensor_addr = ? , sensor_port = ? ," +
"sensor_status = ? where sensor_id = ?";
int count = db.update(conn,sql,nodeMess.getSensor_addr(),nodeMess.getSensor_port(),
nodeMess.getSensor_status(),nodeMess.getSensor_id());
db.closeConnection(conn);
return count;
}
就ok了。