在Oracle DataBase中插入数据

时间:2014-05-20 20:10:54

标签: java jsp servlet-3.0 servlet-listeners

//在上下文侦听器中

Statement stmt;
try {
  Class.forName("oracle.jdbc.OracleDriver");
  Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","abc", "abc");
  stmt = conn.createStatement();
  sce.getServletContext().setAttribute("stmt", stmt);
} catch (ClassNotFoundException e) {
} catch (SQLException e) {
}

//在Servlet页面中

try {
  Statement stmts=(Statement) getServletContext().getAttribute("stmt");
  stmts.executeUpdate("INSERT INTO COMPANYS values(1,'ahmed',5,'t012','t345','email@eamil','adressadress')");
  System.out.println("connection succeed");
} catch (SQLException e) {
  System.out.println("connection fail");
}

在Servlet页面中“try code”是执行并且“连接成功”正在出现但是在oracle数据库中没有插入数据>>为什么???

2 个答案:

答案 0 :(得分:0)

使用con.setAutoCommit(false);在康恩创造之后。一旦事务完成,即在executeUpdate(...)之后调用con.commit();如果控制台上没有显示错误,它将解决您的问题。

答案 1 :(得分:0)

使用以下步骤再次尝试

  • 将自动提交设为false
  • 更新记录后提交以使其保留在数据库中
  • 如果在插入记录时出现任何异常,则回滚
  • 不要忘记清理ResultSet,Statement等环境。
  • 代码在finally块中关闭资源
  • 不要长时间保持连接状态。

必读

查找带有详细内嵌注释的示例代码HERE