繁体   English   中英

自动增量字段未显示在JTable中首先显示

[英]Auto increment field not display in JTable first show

我数据库中的表有5个字段。 第一个字段(ID)是自动递增。

这是我添加新用户的表格: 在此处输入图片说明 (由于是自动递增,因此未请求ID字段)

现在,当我添加新用户时,首先显示时, ID字段不显示!

在此处输入图片说明

刷新后,显示ID :(数字24) 在此处输入图片说明

这是我的代码:

public class UserPage extends JFrame implements ActionListener {
...
    public void addAction() {
    AddUserDialog UserDialog = new AddUserDialog(this);
    Object[] myRow = new Object[]{UserDialog.getfName(), UserDialog.getlName(), UserDialog.getGender(), UserDialog.getDate()}; // how get ID here?
    if (addQuery(UserDialog.getfName(), UserDialog.getlName(), UserDialog.getGender(), UserDialog.getDate())) {
        model.addRow(myRow);
    }
}
    public boolean addQuery(String fname, String lname, String gender, String date) {
    try {
        Connection con;
        Statement statement;
        String query = "insert into UserTable(FirstName,LastName,Gender,Date) " +
                "values ( '" + fname + "' , '" + lname + "' , '" + gender + "', '" + date + "' ) ";
        con = DriverManager.getConnection(...);
        statement = con.createStatement();
        if (statement.execute(query)) {
            return true;
        }

    } catch (SQLException sqle) {
        sqle.printStackTrace();
        return false;
    }
    return true;
}
}

第一次显示时如何获得ID显示? 谢谢!

这个:

    public String addQuery2(String fname, String lname, String gender, String date) throws Exception {
    String getMe = null;
    ResultSet res = null;
    try {
        Connection con;
        PreparedStatement pStatement;
        String query = "insert into UserTable(FirstName,LastName,Gender,Date) " +
                "values ( '" + fname + "' , '" + lname + "' , '" + gender + "', '" + date + "' ) ";
        con = DriverManager.getConnection(...);
        pStatement = con.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
        pStatement.execute(query)
        res = pStatement.getGeneratedKeys();
            getMe = String.valueOf(res.getInt(1));

    } catch (SQLException sqle) {
        sqle.printStackTrace();
    }
    return getMe;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM