浏览 2622 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-21
<%@ page import="com.*.db.util.DBConnectionPool"%> <%@ page import="com.*.db.util.MyConnection"%> <%@ page import="com.*.db.util.ConnectionPool"%> <%@ page import="java.sql.*"%> <%@ page import="java.io.*"%> <% request.setCharacterEncoding("UTF-8"); String text = request.getParameter("text"); System.out.println("GBN2312--->>>" + text); System.out.println("wangjinghui" + text); String sheetKey = request.getParameter("sheetKey"); MyConnection conn = ConnectionPool.getInstance().getConnection(); String sql = "update temp_tasklinkmain set link_task_info = ? where sheet_id = (select id from tasksheet_template_main where sheet_id = ?)"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1,text); stmt.setString(2,sheetKey); stmt.executeUpdate(); try { stmt.close(); } catch(Exception e) { stmt.close(); conn.rollback(); e.printStackTrace(); } finally { conn.close(); } response.setCharacterEncoding("GB2312"); out.println(text); out.flush(); %> 大家都说说这段代码里面有哪些问题,会产生什么样的后果。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-21
你也不用太失望,其实我们每个人不也都是这么过来的。
|
|
返回顶楼 | |
发表时间:2008-10-22
沒看出哪里不好
|
|
返回顶楼 | |
发表时间:2008-10-28
我来说几个明显的,有不对请指正。
1, ConnectionPool.getInstance().getConnection(); 这应该是你们封装的连接池,而在程序最后 获得的连接直接被Close了这会对连接池管理造成影响,我想ConnectionPool应该会相应的释放方法。 2,异常处理,乱七八糟。 3,JSP是VIEW层。 |
|
返回顶楼 | |
发表时间:2008-11-03
close以后连接并不是真正释放,只是重新放回到了连接池
|
|
返回顶楼 | |
发表时间:2008-11-27
假设数据库中的link_task_info 字段定义为varchar2(100),而stmt.setString(1,text);中text为100个中文字。那stmt.executeUpdate();执行会有什么问题?
如stmt.executeUpdate();这句出现了异常,难道不用catch吗? 太佩服昔日舞曲了。 |
|
返回顶楼 | |
发表时间:2008-11-28
异常要分不同的捕获
jsp 是view 成 stmt.executeupdate() 要捕获 |
|
返回顶楼 | |
发表时间:2008-11-28
感觉写的还行 呵呵 至少还是有条理的 捕获不算
|
|
返回顶楼 | |
发表时间:2008-11-28
sql语句用了预处理
|
|
返回顶楼 | |
发表时间:2008-11-30
dao2006 写道 close以后连接并不是真正释放,只是重新放回到了连接池
恩,原先没看清楚。。 |
|
返回顶楼 | |