再开Struts发过程中遇到一个编号自动生成的问题,甚是头疼,编号规则如下:系统当前日期+教师编号+自动增长的编号(date+teancherid+id),在每个教师提交报告时将自动生成的编号一并提交到数据库,问题主要出在后面自动增长的编号(id)上,要求教师每提交一个报告,编号自动加一,本人实在不知道把这个自动增长的操作写在什么位置,写在ActionForm中肯定不行(每次都回被重置),后来尝试取出当前登录教师曾经提交的纪录条数然后加1,但是后来发现,如果删除纪录后再提交会出现编号重复的问题,实在想不出好的办法,请高手帮忙!
解决方案 »
- 急求js 截取字符串
- 用jspSmartUpload组件实现文件下载报错,请大家帮忙看看!(不知道错在哪里,头发都白了)
- 汉字转换
- timer.schedule的定时周期任务为什么只执行一次?而不是按时间周期执行?
- 有人能帮我把下面的Tree写出来吗?
- 一打开某个网站,还会弹出一个页面提示一些本网站的重要信息之类,请问如何做这个页面。。。。。。在线等待!!
- java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 't_test'.
- 如何解决TABLE中行数不确定的问题?急!!
- 请问:weblogic8.1 server examples console的管理界面初始密码是什么???
- Spring的AOP中怎么在方法运行前生成一部分数据,等到方法结束后与结果比较
- Struts到底完成了MVC的那个部分???????????????
- 程序如何获得mime类型
将id设为主关键字,newxy会获得自动增量,num为保存你要求的字段,package common;import net.newxy.dbm.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.commons.beanutils.DynaBean;public class TestDao extends BaseDAO{
public Connection getConnection(String dsJndi) throws Exception {
Connection cn=null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
cn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mysql?user=root&password=mysql&characterEncoding=gbk");
} catch (ClassNotFoundException ex) {
} catch (IllegalAccessException ex) {
} catch (InstantiationException ex) {
} catch (SQLException ex1) {
throw new Exception(ex1.getMessage());
}
return cn;
}
public static void main(String[] params){
TestDao testDao=new TestDao();
DynaDto dto=new DynaDto();
dto.set_table("test1");
dto.set("name","张三");
try {
Object result= testDao.update(dto);
if(result!=null){
String sysDate=....;
String id=((DynaBean)result).get("id").toString();
((DynaDto)result).set("num",sysDate+teachId+id);
dao.update(result);
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
newxy技术网站:http://www.newxy.net
建一个序列表CREATE TABLE T_SequenceNumber (
id VARCHAR2 ( 100 ),
businessSn VARCHAR2 ( 80 )
);
method:public String getBusinessSn(String bId){
//1.根据bId获得businessSn
//2.String b2=businessSn+1;
//3.将b2更新到数据库
//4.return b2;
}注意同步的问题
表设计不敢恭维
select max(substr(编号字段,起点,长度)) from 表
where 老师字段=老师编号
上面我给的办法是我使用过的办法,保证可以!我是在oracle上实现的,但我相信在MYSQL上一样好使!
max()不光对number有效,对string同样有效!
你现在的关键问题是去搞清楚怎么在MYSQL中取子串!没必要在这里浪费时间了。