<%
request.setCharacterEncoding("gbk"); //解决中文乱码
String action = request.getParameter("action");//验证跳转方式是从submit按钮链接过来的,因为有name为action的值post
if(action != null && action.equals("post")) {
String title = request.getParameter("title");
String cont = request.getParameter("cont");
cont.replaceAll("\n", "
");//将文本输出的换行改为html形式,展示时才是换行的结构
Connection conn = DB.getConnection();
//设置conn来避免潜在的断电问题start
conn.setAutoCommit(false);
int rootid = 5;
//用preparedstatement语句操作数据库插入语句start
String sql = "insert into BBS values(seq_BBS.nextval,0,?,?,?,1,0,sysdate)";
PreparedStatement psmt = DB.createpsmt(conn,sql,Statement.RETURN_GENERATED_KEYS); //因为psmt的处理语句里有递增序列seq_BBS.nextval要处理
psmt.setInt(1, rootid);
psmt.setString(2, cont); //所以可以返回这个要处理的递增值
psmt.setString(3, title);
psmt.executeUpdate();
///用preparedstatement语句操作数据库插入语句end
ResultSet rsKeys = psmt.getGeneratedKeys(); //返回递增的值,因为只psmt处理了一条记录,所以返回值就是一个
rsKeys.next();
rootid = rsKeys.getInt(1); //通过取结果集的位置为1的值来拿出递增值
Statement stmt = DB.createstmt(conn);
stmt.executeUpdate("update BBS set rootid = " + rootid + "where id =" + rootid);
conn.commit();
conn.setAutoCommit(true);
//设置conn来避免潜在的断电问题send
DB.close(rsKeys);
DB.close(stmt);
DB.close(psmt);
DB.close(conn);
response.sendRedirect("Show_BBS_Tree2.jsp");
}
%>