无法识别缺少的右括号

cannot identify the missing right parenthesis

提问人:Trong Nguyen 提问时间:12/2/2022 更新时间:12/2/2022 访问量:46

问:

尝试从特定网站提取数据来运行查询,但 ORA-00907:缺少右括号。

public static void build(){
 Connection con = null;
 ResultSet rs = null;
 Statement stms = null;

 String buildXML ="";

 String list = lists.stream().collect(Collectors.joining("','"));

 try {
  <<<database>>>
  <<<connection>>>

  rs = stmt.executeQuery("select name, type, dob, age, height, weight from peopleH where name in ('" + list + "') and age !=0 and dob !=0"); <-- *error here?!?*

  while(rs.next()){
   for(int i=0; lists.size() > i; i++){
     if(<<does not contain the name>>){
      <<<do this>>>
     }
     else {
      <<<do that>>>
     }
   }
  }
 }
catch(){
} finally{
}
}

这意味着当数据通过 selenium(存储在 arrayList 中)进行过滤和提取时。上面的查询将查询数组列表,并与数据库与 selenium 浏览器上显示的内容进行比较。

但是,上面的查询正在抛出缺少右括号...... 我似乎在这里找不到问题,因为上次检查没有加法或无效的逻辑(在 (***) 和“and”语句中)。

从 Selenium 中过滤的数据按预期打印出来 例如约翰、山姆、史密斯、玛丽、莉莉、快乐

如果放在查询中,它将是这样的

rs = stmt.executeQuery("select name, type, dob, age, height, weight from peopleH where name in ('john','sam','smith','mary','lili','happy') and age !=0 and dob !=0");

到这样的东西

rs = stmt.executeQuery("select name, type, dob, age, height, weight from peopleH where name in ('" + list + "') and age !=0 and dob !=0");
java sql selenium 选择 语法错误

评论

1赞 Scary Wombat 12/2/2022
也许打印出第一张支票,它包含你认为它应该包含的内容。list
0赞 GWR 12/2/2022
列表中的每个项目都需要用引号括起来,而不仅仅是整个列表。
0赞 モキャデ 12/2/2022
尝试lists.stream().collect(Collectors.joining("','", "'", "'"))
0赞 FredvN 12/2/2022
使用预准备语句。请参阅 stackoverflow.com/questions/3107044/...
0赞 Trong Nguyen 10/25/2023
您好 @ScaryWombat 、 GWR、モキャデ 和 FredvN 感谢您回复我的询问,并为延迟回复表示歉意,我已经考虑到了上述因素,并尝试从头开始再次重写代码。事实证明,我的语句位存在问题,因为它缺少右括号(' '),我在这里以某种方式提到,但没有在代码中包含正确的括号......面部手掌 + SMH

答: 暂无答案