本人想将某HTML界面录入的信息通过一个JSP页面执行 数据库事务操作 向SQL Server2000中的两张表同时插入数据;但tomcat总报错:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 46 in the jsp file: /RuKuDan3.jsp
conn cannot be resolved
43:
44: }
45: catch(SQLException e){
46: try{ conn.rollback();
48: }
49: catch(SQLException exp){}JSP代码如下,请各位高手帮忙,求求大家了<body>
<div align="center">
<p>
<%
String RKDid = request.getParameter("RKDid");
String CKid = request.getParameter("CKid");
String PJid = request.getParameter("PJid");
String RKnum = request.getParameter("RKnum");
String GHDW = request.getParameter("GHDW");
String RKtime = request.getParameter("RKtime");
String register = request.getParameter("register"); String url = "jdbc:odbc:example";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(url,"sa","");
conn.setAutoCommit(false);
String sql_a = "INSERT INTO RuKuDan VALUES('"+RKDid+"','"+CKid+"','"+PJid+"','"+RKnum+"','"+GHDW+"','"+RKtime+"','"+register+"')";
String sql_b = "UPDATE KuCun SET KCnum = KCnum + '" + RKnum + "' WHERE CKid ='"+CKid+"' AND PJid ='"+PJid+"' ";
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql_a);
stmt.executeUpdate(sql_b);
conn.commit(); conn.close();
}
catch(SQLException e){
try{ conn.rollback();
}
catch(SQLException exp){}
}%>
</p>
</div>
</body>
谢谢大家
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 46 in the jsp file: /RuKuDan3.jsp
conn cannot be resolved
43:
44: }
45: catch(SQLException e){
46: try{ conn.rollback();
48: }
49: catch(SQLException exp){}JSP代码如下,请各位高手帮忙,求求大家了<body>
<div align="center">
<p>
<%
String RKDid = request.getParameter("RKDid");
String CKid = request.getParameter("CKid");
String PJid = request.getParameter("PJid");
String RKnum = request.getParameter("RKnum");
String GHDW = request.getParameter("GHDW");
String RKtime = request.getParameter("RKtime");
String register = request.getParameter("register"); String url = "jdbc:odbc:example";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(url,"sa","");
conn.setAutoCommit(false);
String sql_a = "INSERT INTO RuKuDan VALUES('"+RKDid+"','"+CKid+"','"+PJid+"','"+RKnum+"','"+GHDW+"','"+RKtime+"','"+register+"')";
String sql_b = "UPDATE KuCun SET KCnum = KCnum + '" + RKnum + "' WHERE CKid ='"+CKid+"' AND PJid ='"+PJid+"' ";
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql_a);
stmt.executeUpdate(sql_b);
conn.commit(); conn.close();
}
catch(SQLException e){
try{ conn.rollback();
}
catch(SQLException exp){}
}%>
</p>
</div>
</body>
谢谢大家
是在try里面写的,要在try之前定义现在java里面写好了再往jsp考吧,或者根本不在jsp里写这个
换到 try外面定义
人家rollback写在 catch 中 ....
try出错 就不可能 close()的说何来 连接关闭了 怎么回滚
<div align="center">
<p>
<%
String RKDid = request.getParameter("RKDid");
String CKid = request.getParameter("CKid");
String PJid = request.getParameter("PJid");
String RKnum = request.getParameter("RKnum");
String GHDW = request.getParameter("GHDW");
String RKtime = request.getParameter("RKtime");
String register = request.getParameter("register");String url = "jdbc:odbc:example";
Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(url,"sa","");
conn.setAutoCommit(false);
String sql_a = "INSERT INTO RuKuDan VALUES('"+RKDid+"','"+CKid+"','"+PJid+"','"+RKnum+"','"+GHDW+"','"+RKtime+"','"+register+"')";
String sql_b = "UPDATE KuCun SET KCnum = KCnum + '" + RKnum + "' WHERE CKid ='"+CKid+"' AND PJid ='"+PJid+"' ";
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql_a);
stmt.executeUpdate(sql_b);
conn.commit(); conn.close();
}
catch(SQLException e){
try{ conn.rollback();
}
catch(SQLException exp){}
}%>
</p>
</div>
</body>