Java Oracle无效标识符不理解字符串

Java Oracle无效标识符不理解字符串,java,sql,database,oracle,tuples,Java,Sql,Database,Oracle,Tuples,我的查询不起作用,有问题。这是命令变量 当它执行时,应该检索以BSc作为度的元组。我已经在oracle中直接测试了这一点,查询返回了这些。它与命令语句相同 当我打印出命令时,该行看起来与我在oracle中使用的命令完全相同 从学位为“BA”的学生中选择不同的fname、lname、student_id 然而,它应该打印到屏幕上。这些表已加载到oracle中 我一直在绞尽脑汁想这个问题,但似乎找不到解决办法 我经常遇到的错误是: ORA-00911:无效字符 我所做的是将扫描器的结果存储在一个字符

我的查询不起作用,有问题。这是命令变量

当它执行时,应该检索以BSc作为度的元组。我已经在oracle中直接测试了这一点,查询返回了这些。它与命令语句相同

当我打印出命令时,该行看起来与我在oracle中使用的命令完全相同

从学位为“BA”的学生中选择不同的fname、lname、student_id

然而,它应该打印到屏幕上。这些表已加载到oracle中

我一直在绞尽脑汁想这个问题,但似乎找不到解决办法

我经常遇到的错误是: ORA-00911:无效字符

我所做的是将扫描器的结果存储在一个字符串中。因此,将其连接到命令变量中不会产生问题-查询看起来与oracle中的查询相同

可能是因为它需要一个字符而不是字符串吗?如果是这样的话,我如何让它把BSc变成一个字符呢?连接字符听起来很愚蠢

相关代码如下:

 private String getDegree() {
  Scanner scan = new Scanner(System.in);
  System.out.println("Please enter degree code (either BA or BSc)");
  return scan.next();
}


`在JDBC中,SQL语句不应以分号结尾

改变

String command = "SELECT distinct fname, lname, student_id FROM student"+
       " where degree='"+ degree + "';";


是否确定在度字符串中不包含任何空格/换行符?请通过调试器和equals验证查询是否相同。
String command = "SELECT distinct fname, lname, student_id FROM student"+
       " where degree='"+ degree + "';";
String command = "SELECT distinct fname, lname, student_id FROM student"+
       " where degree='"+ degree + "'";