У меня есть эта ошибка: java.sql.SQLException: Неверное имя столбца в приложении Java - PullRequest
0 голосов
/ 31 мая 2019

Я создал приложение, которое подсчитывает некоторые налоговые формы в таблице и должно вставить число в другую таблицу. Когда я считаю налоговые формы в первой таблице, я делаю это с помощью этого SQL-запроса:

select count(distinct cui) from dec_declaratii where id > 142321849 and 
tip_declaratie='D212' and anul_duk>=2019 and cod_stare_prelucrare_intern 
in ('DUK_VLD', 'GEN_MSJ')";

Когда я запускаю его из Oracle Toad, он работает, но когда я помещаю его в Java и пытаюсь получить результат с помощью rs.getString ("count (different cui)"), это выдает мне эту ошибку: java.sql.SQLException: неверное имя столбца

Почему это происходит?

Что я могу сделать, чтобы это работало?

Я пытался написать счетчик (отличный кюи) заглавными буквами, и если я пишу счетчик (*), это работает, но мне нужно различное количество налоговых форм.

public class Baza {

int idmin = 142321849;
int rezultat = 391320;

    String host = "xxx";
    String user = "xxx";
    String pass = "xxx";
    String user2 = "xxx";
    String pass2 = "xxx";

    String host2 = "xxx";
    String nr = "0";
public void conectare() {

    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con = DriverManager.getConnection(host, user, pass);
    Statement st = con.createStatement();
    String sql = "select count(distinct cui) from dec_declaratii where id 
> 142321849 and tip_declaratie='D212' and anul_duk>=2019 and 
cod_stare_prelucrare_intern in ('DUK_VLD', 'GEN_MSJ')";
    ResultSet rs = st.executeQuery(sql);
    while(rs.next()) {
       nr = rs.getString("count(DISTINCT CUI)");
       System.out.println(nr);
    }
    }catch(Exception e) {System.out.println(e);}
    int nr2 = Integer.parseInt(nr);

    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con = DriverManager.getConnection(host2, user2, pass2);
     Statement st = con.createStatement();
     String sql = "update nr_tot_dec_212 set nr_dec='"+nr+"', data=sysdate 
where id=1";
     st.executeUpdate(sql);


    }catch(Exception e) {System.out.println(e);}
 }

}

Я хотел бы получить результат запроса: выберите количество (различное значение) из dec_declaratii, где id> 142321849 и tip_declaratie = 'D212' и anul_duk> = 2019 и cod_stare_prelucrare_intern in ('DUK_VLD', 'GEN_MSJ') ; в переменной Java. Это дает мне эту ошибку: java.sql.SQLException: Неверное имя столбца

1 Ответ

0 голосов
/ 31 мая 2019

используйте псевдоним для названия столбца вашего счета

select count(distinct cui) as cnt from dec_declaratii where id > 142321849 and 
tip_declaratie='D212' and anul_duk>=2019 and cod_stare_prelucrare_intern 
in ('DUK_VLD', 'GEN_MSJ')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...