一.先在下拉框选择一个经理,选择一条没有用户经理的数据,在没有用户的”用户经理”执行用户关系认领,如果已经有用户经理了的,也可以执行用户关系认领,但是这次执行的是将现在选择的替换掉之前的用户经理
首先选择要认领的经理,对没有用户经理的用户进行认领经理,如果已经存在用户经理 的,那就替换掉
执行用户关系认领的方法:
String UpdateUser = "update PW_User set UserManager=? where UserID=?";
修改语句
public int UpdateUser(int id, String c) {// 添加用户经理
int q = 0;
try {
con = new DButil().getConnection();
ps = con.prepareStatement(UpdateUser);
ps.setString(1, c);
ps.setInt(2, id);
q = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return q;
}
个人理解:上面用到了两个参数,一个int类型一个String,对应修改语句,方法里的两个占位符,需要对应修改语句”set” UserManager列这个字段是String类型,他在UserID,int类型的前面,所以此时,我们在写方法占位符的时候,需要把ps.setString(1, c);String类型的这个参数以及占位符放在UserID,int类型的前面,也就是按照修改语句的顺序来拍:否则会出错
二.经理下拉框查询
String selectJLx = "select * from pw_manager";
Sql查询语句,查询经理表
public List<xlkfh> selectJLx() {// 查询经理下拉框
List<xlkfh> list = new ArrayList<xlkfh>();
try {
con = new DButil().getConnection();
ps = con.prepareStatement(selectJLx);
rs = ps.executeQuery();
xlkfh bb = null;
while (rs.next()) {
bb = new xlkfh();
bb.setId(rs.getInt("managerID"));
bb.setName(rs.getString("managerName"));
list.add(bb);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
new DButil().close(con, ps, rs);
}
return list;
}
定义一个Vo,封装了一个xlkfh类
package com.kd.vo;
public class xlkfh {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
}