public boolean updateTeachers(Teachers t) {
boolean flag = false;
String sql = "update teachers set teachersid=?,tname=?,age=?,sex=?,email=?,humber=?,msn=?,address=? where tid=?";
try {
conn = DBUtil.getConnection();
pstm = conn.prepareStatement(sql);
pstm.setString(1,t.getTeachersid());
pstm.setString(2, t.getTname());
pstm.setInt(3, t.getAge());
pstm.setString(4, t.getSex());
pstm.setString(5, t.getEmail());
pstm.setString(6, t.getHumber());
pstm.setString(7, t.getMsn());
pstm.setString(8, t.getAddress());
pstm.setInt(9, t.getTid());
int i = pstm.executeUpdate();
if (i != 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.closePreparedStatement(pstm);
DBUtil.closeConnection(conn);
}
return flag;
}这是一个修改,但是出现ORA-01407: 无法更新 ("SCOTT"."TEACHERS"."EMAIL") 为 NULL
boolean flag = false;
String sql = "update teachers set teachersid=?,tname=?,age=?,sex=?,email=?,humber=?,msn=?,address=? where tid=?";
try {
conn = DBUtil.getConnection();
pstm = conn.prepareStatement(sql);
pstm.setString(1,t.getTeachersid());
pstm.setString(2, t.getTname());
pstm.setInt(3, t.getAge());
pstm.setString(4, t.getSex());
pstm.setString(5, t.getEmail());
pstm.setString(6, t.getHumber());
pstm.setString(7, t.getMsn());
pstm.setString(8, t.getAddress());
pstm.setInt(9, t.getTid());
int i = pstm.executeUpdate();
if (i != 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.closePreparedStatement(pstm);
DBUtil.closeConnection(conn);
}
return flag;
}这是一个修改,但是出现ORA-01407: 无法更新 ("SCOTT"."TEACHERS"."EMAIL") 为 NULL
解决方案 »
- 统计查询表的语句如何写,带重复记录
- sql转换成oracle 触发器,急求
- oracle的查询统计
- 帮忙看一个产生统计报表的算法
- 下面语句中 >sysdate-1/720 这个什么意思 谁能帮我详细的讲解下,谢谢!!
- 有ORACLE的简明教程,和,存储过程的简明教程,可以让我看看呀?
- 急:ORA-12638: 身份证明检索失败
- oracle和sql server相比,有什么优势啊,为什么大型的项目用的是oracle而不是采用sql server啊?
- 在线等待,当场解决当场给分,关于新建数据库的问题?
- 游标嵌套里面的游标能否执行循环??急
- 关于同学录系统的数据库设计
- ROW_NUMBER() 造成的诡异事件。。
-- 把 句点 修改成 逗号 试试!
既然要求不能为空,自然就不能被更新成NULL了。
不能更新为null值。
因为列设置了“NOT NULL”,而前台传参数可能是空的
表里的EMAIL字段是NOT NULL的。
pstm.setString(5, t.getEmail());
t.getEmail() 为NULL了。
经过查找我发现是我的SERVLET里的request.getParameter()没接到TEXT的值
传给实体类时才报NULL