2个try / catch中的SQL查询。不工作

时间:2015-06-11 12:26:07

标签: 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”。那是不起作用的部分。我尝试添加一段时间,使用不同的ResultSe t,使用相同的ResultSet,但没有一个工作。我知道这不是SQL查询的问题,因为我用工作台测试了它,它返回了我想要的数据。

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

HTML代码的外观:

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

1 个答案:

答案 0 :(得分:1)

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