java - 如何在java程序中从access数据库中检索整数列的最大值?

标签 java swing

我正在用java swing开发一个项目“医院管理系统”。现在我有一个文本字段,每当页面加载时,其值就会增加一。它基本上包含患者 ID 的值。现在我想从数据库中检索最大值或最后一个值并将其加一,并希望在变量为“textField_1”的文本字段中设置该值。这里表名是“病人”,列名是“patid”,这个片段是在页面加载事件中编写的。 Select 查询已成功执行,但问题是未从数据库中获取最大值。在 if block 中达到控制,但它不打印 if“i”的值。请帮忙!!

    try
    {
        Connection con;
        Statement st;
        ResultSet rs;

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        con=DriverManager.getConnection("Jdbc:Odbc:hos_man");
        st=con.createStatement();
        rs=st.executeQuery("select * from patient where patid = (select max(patid) from patient);");
        if (rs.next()==true)
        {
            int i=rs.getInt(1);
            i++;
            textField_1.setText(""+i);
        }
        else
        {
            textField_1.setText(""+100);
        }   
        con.close();
        st.close();
        rs.close();
    }
    catch (Exception e)
    {
    }

最佳答案

首先,您的查询是正确的,但它是不好的做法。如果您只需要 max(patid) 则使用此查询:

select max(patid) from patient

然后修改您的代码,如下所示。

try
        {
            Connection con;
            Statement st;
            ResultSet rs;

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con=DriverManager.getConnection("Jdbc:Odbc:hos_man");
            st=con.createStatement();
            rs=st.executeQuery("select max(patid) from patient");
            int i=100;
            while (rs.next())
            {
                i=rs.getInt(1);


            }
            textField_1.setText(""+i); 
            con.close();
            st.close();
            rs.close();
        }
        catch (Exception e)
        {
        e.printStackTrace();
        }

这应该有效

关于java - 如何在java程序中从access数据库中检索整数列的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24005900/

相关文章:

java - Groovy:无法将类 'null' 的对象 'null' 转换为类 'double' 。尝试改为 'java.lang.Double'

Java,在最后一个图像结束的同一点重绘滚动背景图像

java - setFont() 问题

java - 如何在运行时在 Swing 中添加 JLabel?

java - java中的HTML类型元素符号

java - 动态类型方法中的奇数类型推断

java - 为什么模型在提交表单后不保存我的数据?

java - java.io.ObjectInputStream 类型无法解析。它是从所需的 .class 文件中间接引用的

java - 更新 JList

java - 多线程性能