gpt4 book ai didi

java - SQL 命令未正确以 select 结束

转载 作者:行者123 更新时间:2023-12-01 10:49:50 25 4
gpt4 key购买 nike

我正在使用 Oracle SQL Developer 处理 Java 应用程序。我想向数据库询问这个查询:

select * from vocabolario, vocaboli_help where verbo=1 and 
vocabolario.id = vocaboli_help.id and vocaboli_help.usato = 0

当我从 SQL Developer 运行该查询时,该查询有效,但是当使用 stmt.executeQuery(string) 从 Eclipse 运行该查询时,其中 stmt 是一个 Statement 对象,它会抛出以下异常: SQL命令未正确结束。我还在字符串末尾加了一个分号,但它不起作用。

我将 stmt.executeQuery(string) 与其他查询一起使用,在这些情况下没有问题。我能看到的唯一区别是,在这种情况下,我在 AND 中有 where 条件。

Java 代码:

private final static String NOME_DATABASE = "VOCABOLARIO", NOME_DATABASE_HELP ="VOCABOLI_HELP";
String type ="verbo";
String query = "SELECT * FROM " + NOME_DATABASE + ", " + NOME_DATABASE_HELP +" WHERE " + type + " = 1 " +
"AND " + NOME_DATABASE +".ID = " + NOME_DATABASE_HELP +".ID AND "+NOME_DATABASE_HELP+".USATO = 0";
System.out.println(query);
int cont = 0;
String result="";
try {
ResultSet res = statement.executeQuery(query);
while(res.next()) {
String cod = res.getString("ID").trim();
String voc = res.getString("VOCABOLO").trim();
String trad = res.getString("TRADUZIONE").trim();

if(cont == n)
result = cod + "," + voc + "," + trad;

cont++;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;

`

最佳答案

select * from vocabolario vo
left join vocaboli_help voh
on vo.id= voh.id
where v.verbo=1 AND voh.usato=0

您只需要一个简单的加入。

VOCABOLI_HELP 或 vocabolario_help 您的代码和您的帖子不同

关于java - SQL 命令未正确以 select 结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33980977/

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