【问题标题】:Retrieving the maximum value from an Integer column in an Access table从 Access 表中的整数列中检索最大值
【发布时间】:2014-07-20 16:31:17
【问题描述】:

我在 NetBeans 框架中有一个文本字段。我添加了一个“生成”按钮,当我单击它时,程序应该从名为“books”的表中的“book_code”列中找到最大值,并且应该在文本字段中显示“生成的值+1”。

我使用类方法连接到我的数据库,因此您不会找到任何用于连接数据库的代码。

我尝试了一些编码,但我无法从表书的 book_code 列生成最大值。这是我所做的:

String b_code="select max(Book_code) from books";
try
{
    pst = conn.prepareStatement(b_code);
    rs=pst.executeQuery();

    int a=rs.getInt(b_code);
    System.out.println("Book code is "+a);

}
catch(Exception e)
{
   JOptionPane.showMessageDialog(null , e);
}

book_code 列的最大值是 103,当我点击“生成”按钮时,我希望在文本字段中看到 104。

【问题讨论】:

    标签: java ms-access netbeans data-retrieval


    【解决方案1】:

    您的代码至少存在两 (2) 个问题:

    1. 您创建了 ResultSet,但在尝试检索值之前没有调用 rs.next()

    2. 当您尝试检索值时,您使用包含 SQL 字符串的变量,并且 ResultSet 中没有匹配的列

    这应该会更好:

    String b_code="select max(Book_code) from books";
    try {
        pst = conn.prepareStatement(b_code);
        rs = pst.executeQuery();
        rs.next();
        int a = rs.getInt(1);
        System.out.println(String.format("max(Book_code) is %d", a));
    } catch(Exception e) {
       JOptionPane.showMessageDialog(null , e);
    }
    

    【讨论】:

    • 是的,工作正常,但显示最大值,我想要 maxValue+1 .....我现在会自己做......谢谢支持。
    • 先生你能帮我把 a 的值放入 jTextField1 .. 我试过 jTextField1.setText(a);而不是 System.out.println(String.format("max(Book_code) is %d", a));它向我显示错误“整数无法转换为字符串”。
    猜你喜欢
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多