jsp我给结算信息的结算编号的问题!!帮忙!!谢谢!!!
我要在合同信息表中插入一条合同记录,同时在结算信息表中插入该合同信息的合同编号,而结算信息的结算编号是由下面一段代码自动生成的,但是插入到表中的还是null,请帮忙看一下问题出在哪里,谢谢!!!
//结算信息中的结算编号由系统自动生成统一格式,如JS20070524001
//首先取得系统时间
//String JDate=new java.util.Date();
java.util.Date JDate0=new java.util.Date();
//格式化系统时间
SimpleDateFormat sdf=new SimpleDateFormat( "yyyyMMdd ");
String JDate = sdf.format(JDate0);
//生成结算编号的前段部分
String JNo= "JS "+JDate;//今天的即JS20070524
//生成结算编号的后四位--如果有包含JS20070524的结算编号,则在最大的编号后加1,如果没有包含JS20070524的结算编号,则JS200705240001
//查询是否有包含JS20070524的结算编号
String sql3= "select * from InfoJs where JNo like ' "+JNo+ "% ' ";
Statement sts3=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs3 = sts3.executeQuery(sql3);
String SJNo = null;
while (rs3.next())
{
String SJNo = rs3.getString( "JNo ");
rs3.close();
if(SJNo != null){
SJNo=SJNo+1;
}
else
{
SJNo=JNo+ "0001 ";
}
}
------解决方案--------------------在合同信息表中插入一条合同记录,同时在结算信息表中插入该合同信息的合同编号
sql触发器能解决吧
代码我认为这有错
while (rs3.next())
{
String SJNo = rs3.getString( "JNo ");
rs3.close();//第一次循环就关闭rs了,循环是不是就退出了,或者有异常
if(SJNo != null){
SJNo=SJNo+1;
}
else
{
SJNo=JNo+ "0001 ";
}
}