如题, 主键为自增型, 我想在记录新增后,得到记录生成的主键
[quote]楼上的不适合存储过程来搞定这个问题。
[/quote]
首先,你使用存储过程,procdure是可以获取添加的那个id的。类似于这么写:
[code="java"]
....
insert into TableM(...) values(...)
IF @@ERROR != 0
BEGIN
return @@IDENTITY //这个就是添加后的id自动增长的值,sql会自动记录的。
END
....
[/code]
从上面存储过程会得到这个id值,然后需要在程序里面获取
[code="java"]
CallableStatement call= conn.prepareCall("?={call procName(?,?<?,?)}");
try{
call.registerOutParam(1,"count");
...
call.execute();
...
int id = call.getObject(1);
}catch(Exception e){
}
[/code]
形式就是这样,具体的正确的得详细来说。你可以根据我写的形式来搜搜,或者可以联系我。
[code="java"] String sql = "...";
long returnValue; Connection conn = ConnectionHelp.getConnection();
PreparedStatement msst = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
msst.executeUpdate();
ResultSet result = msst.getGeneratedKeys();
result.next();
returnValue = result.getLong(1);[/code]
你可以参考一下