Java 自动生成密钥

Java 自动生成密钥,java,mysql,jdbc,Java,Mysql,Jdbc,如何在数据库的ProductInformation表中选择最后一个ProductCode(主键),并在其上添加+1,然后将其放在文本字段中,以使添加产品表单自动生成?这是我当前添加产品的代码 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

如何在数据库的ProductInformation表中选择最后一个ProductCode(主键),并在其上添加+1,然后将其放在文本字段中,以使添加产品表单自动生成?这是我当前添加产品的代码

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    int Confirm = JOptionPane.showConfirmDialog(null, "Are you sure you want to add this product?");
    if(Confirm == 0) {
        String SQL = "INSERT INTO ProductInformation VALUES (?,?)";
        String ConnectionURL = "jdbc:mysql://127.0.0.1:3306/SystemProject?"+"user=root&password=";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connect = DriverManager.getConnection(ConnectionURL);
            PS = Connect.prepareStatement(SQL);
            PS.setString(1, ProductCodeText.getText());
            PS.setString(2, ProductNameText.getText());
            if("".equals(ProductNameText.getText()) || "".equals(ProductCodeText.getText()) || ("".equals(ProductNameText.getText()) && ("".equals(ProductCodeText.getText())))) {
                JOptionPane.showMessageDialog(null, "Please fill all the information needed","Error in adding product",JOptionPane.ERROR_MESSAGE);
                AddProductForm APF = new AddProductForm();
                APF.setVisible(true);
                this.hide();
            }
            else {
                int Count = PS.executeUpdate(); 
                if(Count > 0) {
                    JOptionPane.showMessageDialog(null, "Product saved");
                    ProductCodeText.setText("");
                    ProductNameText.setText("");
                }
            }
        }
        catch(ClassNotFoundException | SQLException e) {
            JOptionPane.showMessageDialog(null, "Can't duplicate product code","Error",JOptionPane.ERROR_MESSAGE);
        }
    }
}
我将向我的代码中添加什么以使其以这种方式工作。谢谢大家。

你们可以这样做:

CREATE TABLE Product
(
    ID int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (ID)
)

如果没有,则取决于您使用的IDE,大多数IDE(如
NetBeans
visualstudio
)都允许您通过其用户界面将字段设置为自动递增。

当您已经建立连接、准备语句并设置值时,验证和显示GUI对话框就有点晚了。所有这些都应该放在数据库之前。我刚刚重新创建了我的数据库,先生。我将如何处理我的表和表上的列。请引导我。我只需要ProductCode和ProductName。我唯一的问题是如何将最后一个ProductCode+1的文本字段设置为唯一。谢谢,长官,我该把命令放在哪里?在phpmyadmin?顺便说一句,我使用Netbeans和XAMPP。谢谢您,先生。@JohndaveDavid如果您使用的是NetBeans,您甚至不必使用这些代码。创建一个表,添加字段,sql命令将自动生成。在提交这些自动生成的命令之前,请右键单击主键字段(如果不是右键单击,请查看表的属性),将“自动增量”设置为true。对不起,先生,我是netbeans的新手,在哪里创建表?我应该把它写在我的表格上吗?顺便说一句,把我添加到facebook上,先生。我真的需要帮助。谢谢,先生。Fb.me/DForDeyb