关于数据库的一个小问题
如何获得 insert 后的结果集,因为那个表中有一个自增字段id,我想用它,insert 后再查这种办法觉得不大好,不知道还有没有什么好办法,大家指教一下。另外是不是只有 select 操作才返回结果集呢?
------解决方案--------------------楼主的意思是说 查询出所刚刚插入的吗?
如果是这样的话在insert之前 先select max自增id+1 此时的数据就是你insert的数据
------解决方案--------------------获得insert的id就是insert之前max(id)+1。
------解决方案--------------------在insert 之前用 select max(i) from youtable ,
int curid =Integer.paseInt(rs.getInt(id))+1,
这样curid 就是你想要的结果了
------解决方案--------------------你一定是用结果集来接收insert 的结果了,所以有那个错误提示“没有结果集产生”
插入后select max(id)
------解决方案--------------------要结果集的话肯定得查询了 不从数据库查你去哪找啊
------解决方案--------------------有什么特别操作吗?其实也是想知道最大id而已,从DB里取出就行
按照楼主的说法,可能会有多人同时操作,取出来的id也未必是自己刚才insert进DB里的记录。
^_^
------解决方案--------------------已经很明了了,
在insert之前,先找出最大id
String maxsql = "SELECT MAX(ID) ID FROM table11 ";
ResultSet rs = stmt.executeQuery(maxsql);
int maxid = 1;
if(rs.next())
maxid = rs.getInt( "ID ")+1;
PreparedStatement pstmt = null;
String strSql = "INSERT INTO table11(ID,xx,yy,zz)VALUES(?,?,?,?) ";
pstmt=conn.prepareStatement(strSql);
pstmt.setInt(1,maxid);
.......