java - 一次 try/catch 中的 2 个 SQL 查询。不工作

标签 java mysql jdbc

基本上,我必须显示一个包含数据库表中数据的列表 [该部分正在工作],然后我必须显示最高日期 [表中的日期变量]。无论我做什么,第二部分都不起作用。

这是代码

try {
        String SQL = "SELECT * FROM tb_rafael";

        ResultSet rs = BD.consultar(SQL);

        String tab = "";

        int numReg = 0;

        while (rs.next()) {
            tab+="<TR>";
            tab+="<TD>" + rs.getString("nme_rafael") + "</TD>";
            tab+="<TD>" + rs.getString("dta_rafael") + "</TD>";
            tab+="</TR>";
            numReg++;

            //mDat = rs2.getString("dta_rafael");
        }

        rs.close();

        dados.put("DADOS", tab);
        dados.put("NUM_REG", String.valueOf(numReg));


        //Pegar Data Maior
        String SQL2 = "SELECT MAX(dta_rafael) FROM tb_rafael";


        ResultSet rs2 = BD.consultar(SQL2);
        String mDat = "";

        //while(rs2.next()){

            mDat = rs2.getString("dta_rafael");

        //}
        rs2.close();

        dados.put("MDA", mDat);

    } catch (Exception ex) {
        dados.put("MSG", "Erro: " + ex.getMessage());
    }

你想看的是评论线“Pegar Data Maior”之后。那是不起作用的部分。我尝试添加一段时间,使用不同的 ResultSet,使用相同的 ResultSet,但没有一个起作用。我知道这不是 SQL 查询的问题,因为我使用工作台对其进行了测试,它返回了我想要的数据。

更具体地说,我没有收到任何错误消息或任何东西,dados.put 根本不起作用,我只得到这个:

HTML 代码的外观:

数据应该显示在 {MDA} 所在的位置。有人有什么想法吗?

最佳答案

查询 SELECT MAX(dta_rafael) FROM tb_rafael 可能不会返回您稍后尝试检索的列名,rs2.getString("dta_rafael"); 我将查询更改为 SELECT MAX(dta_rafael) AS Max_date..., 并在之后引用 MAX_date

关于java - 一次 try/catch 中的 2 个 SQL 查询。不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780737/

相关文章:

java - JCIFS SMB 正在本地 tomcat 服务器而不是远程服务器上创建文件夹

java - 扩展注释的接口(interface)

java - Java 常量池的目的是什么?

java - 如何使 jar 文件在重启或系统启动后自动运行

java - USER 在 pentaho 数据集成中定义了 java 类步骤

java - 如何将本地 Google Cloud SQL stub 连接到 MySQL DB

java - 使用 JDBC 连接到不同数据库的模式

mysql - 如何将带有 STR_TO_DATE 的字符串 'YEARWEEK' 转换为正确的日期?

mysql - 为什么两个并发的 delete + insert 语句会在一个空表上死锁?

mysql - 错误: Unknown column 'makeId' in 'field list'