Database JDBC查询。根据控制台的输入检索记录。名为SQL语句的错误未正确结束

Database JDBC查询。根据控制台的输入检索记录。名为SQL语句的错误未正确结束,database,jdbc,Database,Jdbc,我试图从数据库student获取一条记录,该记录基于使用sql连接对数据库执行的查询以及用户输入的记录编号 package com.sun.java; import java.util.Scanner; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException;

我试图从数据库student获取一条记录,该记录基于使用sql连接对数据库执行的查询以及用户输入的记录编号

package com.sun.java;

      import java.util.Scanner;
      import java.sql.Connection;
      import java.sql.Driver;
      import java.sql.DriverManager;
      import java.sql.SQLException;
      import java.sql.Statement;

      public class TableFetch {

      public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub

        Driver drv = new oracle.jdbc.driver.OracleDriver();

        DriverManager.registerDriver(drv);



        Connection con =  DriverManager.getConnection ("url", "user", "password");

        System.out.println("Got the connection from DB" + con);

        System.out.println("kindly enter the sno of the record to fetch");

        Scanner n = new Scanner(System.in);

        int s9 = n.nextInt();

        String sql = "select * from student" + "WHERE sno =" + s9 + ";";
        Statement statement = con.prepareStatement(sql);
        statement.executeQuery(sql);

        n.close();
        }
        }

以下语句出现错误:

String sql=“从学生“+”中选择*,其中sno=“+s9+”;”

请在
student
WHERE


p/S:很抱歉,我无法发表评论,因为我没有足够的分数。

我给出了url=jdbc:oracle:thin:@localhost:1522:XE user=system和password=oracle来代替url、用户和密码。我得到的错误是SQL命令未正确结束请发布错误跟踪…尝试打印SQL语句以检查使用
+
形成的查询确实是预期的结果。线程“main”中出现异常java.sql.SQLException:ORA-00933:sql命令未正确endedquery由您发布的查询将无法工作…将其打印到控制台并单独运行以验证是否相同我很抱歉在我的实际代码中我没有保留“;”结尾。如果没有它,它也会产生相同的错误。您是否尝试将其设置为如下所示:String sql=“select*from student”+,其中sno=“+s9+”;”;嘿,成功了。谢谢学生和地点之间存在空间问题。此外,sql查询末尾的“;”也不是必需的。如果有效,请将其标记为接受答案。否则,ppl将再次尝试重复故障排除过程:)