jsp自动编号问题。怎么把字母如(xs)加上今天的日期(20090513)后面有01一起自动生成加入数据库

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:31:25
org.apache.jasper.JasperException: Exception in JSP: /ceshide/q_tj.jsp:16

13: ResultSet rs=stmt.executeQuery("select max(qcbh) from qcxxgl ");
14: if(rs.next())
15:
16: { oldbh=rs.getString("qcbh");
17:
18: }
19: else if(Integer.parseInt(datetime)>Integer.parseInt(bhleft))//如果是今天录入的第一个数据

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: Column not found
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apa

select max(qcbh) from qcxxgl 这句话你放到数据库中执行的话就会发现结果集是max(qcbh),所以你单纯选择qcbh是找不到的,改为oldbh=rs.getString("max(qcbh)");
你说的自动编号我没有听懂,一般来说,如果你按照日期来生成自动编号,你可以在每次要生成之前选择本天的编号的最大值,就算带着其他的字母和日期等组成的字符串也可以比较,如xs2009040201要大于xs2009040202一样,这样选择出最大,然后将这个字符串化为charArray,选出最后的编号化为int,然后+1便生成了后面的编号,也就是自动编号
不知道你说的具体什么意思,如果不明白可以问我

13行应该改为:
ResultSet rs=stmt.executeQuery("select max(qcbh) as qcbh from qcxxgl ");
你最好设置一个ID字段且为自动增加的,
这样程序可以改为:
ResultSet rs=stmt.executeQuery("select max(ID)+1 as ID from qcxxgl ");

==>>oldbh="xs"+now()+rs.getString("ID");