create table SDM(
dno char(4),
sname varchar2(9),
primary key(dno,sname)
);
create table MDP(
week char(2),
dno char(4),
dnum smallint default 0,
rnum smallint default 0,
sname varchar2(9) not null,
rdate date default sysdate,
primary key(week,dno),
foreign key (dno,sname) references SDM(dno,sname)
);
在PLSQL Developer中执行语句:
select * from mdp where week='1' and dno='4426';
可以查询到结果集,
但是使用jdbc无法查询到结果集
@Override
public MDP getMDP(String week, String dno) {
MDP mdp = null;
try {
conn = DatabaseBean.getConnection();
String sql = "select * from mdp where week=? and dno=?";
psmt = conn.prepareStatement(sql);
psmt.setString(1, week);
psmt.setString(2, dno);
rs = psmt.executeQuery();
if (rs.next()) {
mdp = new MDP();
mdp.setWeek(rs.getString("week"));
mdp.setDno(rs.getString("dno"));
mdp.setDnum(rs.getInt("dnum"));
mdp.setRnum(rs.getInt("rnum"));
mdp.setSname(rs.getString("sname"));
Timestamp ACTDATETIME = rs.getTimestamp("rdate");
SimpleDateFormat nu = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
mdp.setRdate(nu.format(ACTDATETIME));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DatabaseBean.close(rs, psmt, conn);
}
return mdp;
}
1 4426 0 0 李二 2020-05-31 11:20:05记录已存在
运行以下代码显示该记录不存在,记录本身就存在但是查询不出来
String week = "1";
String dno = "4426";
MDP mdp = DaoFactory.getMDPDao().getMDP(week.trim(), dno.trim());
if (mdp != null) {
String errValue = mdp.getDno() + " 宿舍的 " + mdp.getSname() + " 同学在第" + mdp.getWeek() + " 周已领取抗疫物资口!";
System.out.println("该记录存在");
}else{
System.out.println("该记录不存在");
}