按照它的说明 主键是这样得到的!
ResultSet rs = stmt.getGeneratedKeys();
int key = rs.getInt()但是 我用mysql来做 在int key = rs.getInt()这里是 异常的,得不到!现在我想可能是我得jdbc不是3.0的,
请问大哥 mysql jdbc3.0 到底是什么啊?
是不是mysql 发布的最新的 mysql-connector-java-5.0.0-beta 这个呢?
ResultSet rs = stmt.getGeneratedKeys();
int key = rs.getInt()但是 我用mysql来做 在int key = rs.getInt()这里是 异常的,得不到!现在我想可能是我得jdbc不是3.0的,
请问大哥 mysql jdbc3.0 到底是什么啊?
是不是mysql 发布的最新的 mysql-connector-java-5.0.0-beta 这个呢?
ResultSet rs = stmt.getGeneratedKeys();
rs.next();
int key = rs.getInt(1)
import java.sql.*;public class GetKey {
ResultSet rs = null;
Connection conn = null;
Statement stmt=null;
//加入同一个连接发生其他查询,Key会被重写所以不准确
public void getId(){
try{
getConnect gc=new getConnect();
conn=gc.getconn();
Statement stmt = conn.createStatement();
stmt.executeUpdate("insert into tb (name) values ('Key')");
rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");
int autoIncKeyFromFunc = -1;
if ( rs.next() ) {
autoIncKeyFromFunc = rs.getInt(1);
System.out.println("autoIncKeyFromFunc: "+autoIncKeyFromFunc);
}
}catch(Exception e){
System.out.print("有异常发生!");
}
}
public void getId_(){
try{
getConnect gc=new getConnect();
conn=gc.getconn();
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
java.sql.ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate("insert into tb (name) values ('x')");
int autoIncKeyFromApi = -1;
rs = stmt.getGeneratedKeys();
if (rs.next()) {
autoIncKeyFromApi = rs.getInt(1);
System.out.println("Key returned from getGeneratedKeys():"
+ autoIncKeyFromApi);
}
}catch(Exception e){
System.out.print("有异常发生!");
}
}
public static void main(String[] args) {
GetKey get=new GetKey();
// get.getId();
get.getId_();
}}