【发布时间】:2019-08-08 07:53:18
【问题描述】:
我在我的项目中使用 Microsoft SQL Server,并且使用 JDBC 作为连接器。我的项目在 Tomcat 服务器中运行。我要做的是获取新插入值的主键,而无需再编写一个选择语句。
这是我的java代码:
PreparedStatement ps = conn.prepareStatement("INSERT INTO Users(FIRSTNAME,STATUS)VALUES " +
"(?,?)", Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "name");
ps.setInt(2, status);
int updatedRows = ps.executeUpdate();
if(updatedRows > 0){
ResultSet resultSet = ps.getGeneratedKeys();
if (resultSet.next()) {
// do some stuff with resultSet.getInt(1)
// but code does not enter here
}
}
但代码没有进入我在评论中提到的内部 if 子句语句。我也试过这个:
PreparedStatement ps = conn.prepareStatement("INSERT INTO Users(FIRSTNAME,STATUS)VALUES " +
"(?,?)", new String[]{"USERID"});
这里的 USERID 是用户表的主键名称。两种方法都没有奏效。我该如何解决这个问题?
【问题讨论】:
-
你的表的定义是什么?
标签: java sql-server jdbc