gpt4 book ai didi

java - 我有这个错误 : java. sql.SQLException: Java 应用程序中的列名无效

转载 作者:行者123 更新时间:2023-12-02 05:00:18 24 4
gpt4 key购买 nike

我构建了一个应用程序,可以对表中的一些税表进行计数,并且必须将数字插入另一个表中。当我计算第一个表中的税表时,我使用以下 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(distinct cui)") 获取结果时,它给了我这个错误:java.sql.SQLException:无效的列名

为什么会发生这种情况?

我该怎么做才能让它发挥作用?

我尝试用大写字母写 count(distinct cui) ,如果我写 count(*) 它可以工作,但我需要不同数量的税表。

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);}
}

}

我想获得查询的结果: select count(distinct cui) from dec_declaratii where id > 142321849 andtip_declaratie='D212' and anul_duk>=2019 and cod_stare_prelucrare_intern in ('DUK_VLD', 'GEN_MSJ')"; 在 Java 变量中。它给了我这个错误:java.sql.SQLException:无效的列名

最佳答案

使用别名来命名计数列

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')";

关于java - 我有这个错误 : java. sql.SQLException: Java 应用程序中的列名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56389517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com