簡體   English   中英

無法在JDBC中插入主鍵

[英]Can not get inserted primary key at JDBC

我在項目中使用Microsoft SQL Server,並且使用JDBC作為連接器。 我的項目在Tomcat服務器中運行。 我正在嘗試做的是獲取新插入值的主鍵,而無需再編寫一個select語句。

這是我的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是Users表主鍵的名稱。 兩種方法均無效。 我該如何解決?

嘗試這個:

INSERT INTO Users(FIRSTNAME,STATUS) OUTPUT Inserted.ID VALUES (?,?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM