как rs переменная из набора результатов rs.next () верно, даже если их нет записи во второй таблице b - PullRequest
0 голосов
/ 15 декабря 2018

таблица a

roll
101

таблица b

enter code here пустой набор

//code of java netbeans 

//table a 

    public void t1()
    {

         try
    {

        String s1 = "select max(roll) as 'rn' from a;";
        rs=stmt.executeQuery(s1);

         if(rs.next())
        {
        rn = rs.getInt("rn");
        jTextField1.setText(rn+"");
        }



    }catch(Exception e)
    {}



//table b

    public void t2()
    {
    try
    {

        String s2 = "select max(ecode)+1 as 'ec' from b;";
        rs=stmt.executeQuery(s2);
        if(rs.next())
        {

        en = rs.getInt("ec");


        }
        else
        {

         en = 2001;
        }

        jTextField2.setText(en+"");
    }catch(Exception e)
    {
    }
    }

почему, если оператор в методе t2 выполняется, хотя у нас нетзапись в таблице b

1 Ответ

0 голосов
/ 15 декабря 2018
max(ecode)

Если в таблице нет строк и отсутствует условие group by, функция max() возвращает одну строку, содержащую значение null.

...