首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于数据库的一个小疑点

2011-12-29 
关于数据库的一个小问题如何获得insert后的结果集,因为那个表中有一个自增字段id,我想用它,insert后再查这

关于数据库的一个小问题
如何获得   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);
.......

热点排行