表A有两个字段:id,name。设置并检索从mysql到java的自动增量值(在jlabel中设置)
我尝试插入值id,名称使用java mysql .open form1并单击新建jbutton显示jlabel1 value = id(自动增量值)从mysql.and用户给(名称)输入值jtextfield.and存储asusual。
在这里我的问题: 如何检索自动增量值从MySQL到Java(id在jlabel中设置)。
表A有两个字段:id,name。设置并检索从mysql到java的自动增量值(在jlabel中设置)
我尝试插入值id,名称使用java mysql .open form1并单击新建jbutton显示jlabel1 value = id(自动增量值)从mysql.and用户给(名称)输入值jtextfield.and存储asusual。
在这里我的问题: 如何检索自动增量值从MySQL到Java(id在jlabel中设置)。
你可以解雇查询来获取最大的id下一个值,例如是: -
select max(id)+1 from table_name;
做它象下面这样:
String query = "INSERT INTO your_table(id,name) VALUES(null, ?)";
PreparedStatement ps = connection.prepareStatement(query,
PreparedStatement.RETURN_GENERATED_KEYS);
ps.setString(1,name_to_insert);
int numRows = ps.executeUpdate();
if(numRows > 0){
ResultSet rs = ps.getGeneratedKeys();
int generatedID = -1;
if(rs!=null && rs.next())
generatedID = rs.getInt(1));
}
有关的PreparedStatement更多帮助读的Javadoc。如果这个答案满足,你点击“正确的标记”(因为你是新手,你需要知道这一点)。
我想在存储之前在jlabel中设置(显示)id值。 – 2014-10-10 08:22:38
你是什么意思?您是否想要在生成之前显示生成的ID?如果是这样,你如何确保MySQL生成的ID是什么。 – 2014-10-10 08:27:57
我的意思是最后生成的id我want.then我添加值1以获得下一个id值。 – 2014-10-10 08:39:47
投票关闭太宽 – mKorbel 2014-10-10 07:58:53
[获取最后插入的自动递增id在mysql] (http://stackoverflow.com/questions/14170656/get-last-inserted-auto-increment-id-in-mysql) – bsiamionau 2014-10-10 07:59:19