<%
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");
}
%>
从Oracle的结果集rs通过getInt(1)取回递增值报错无效的列类型
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常