java在jdbc中用键盘显示数据库中的数据

vwoqyblh  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(350)

我第一次从事jdbc项目。我在mysql数据库中有一个表,如图所示:

这是我的代码,显示完整的表格

//load Driver class
Class.forName("com.mysql.jdbc.Driver");

//get Connection
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/School", "root", "1947");

 //get statement
Statement stmt=con.createStatement(); 

 //load ResultSet
ResultSet rs1=stmt.executeQuery("select  *from Student");

我想根据rollno显示数据,即系统首先请求rollno。当用户输入rollno时,它应该显示与这个rollno相关的所有细节。有可能吗?

mfuanj7w

mfuanj7w1#

使用scanner请求rollno,并使用preparedstatement设置查询中的参数

java.util.Scanner sc = new java.util.Scanner(System.in);
    int rollNo = sc.nextInt();
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
        ps = conn.prepareStatement("select * from Student where rollno=?");
        ps.setInt(1, rollNo);
        rs = ps.executeQuery();
        while (rs.next()) {
            Integer rollno = rs.getInt("rollno");
            String name = rs.getString("name");
            //other columns
        }
    } catch (Exception e) {
        e.printStackTrace();
    }finally{
        try {
            rs.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        try {
            ps.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        try {
            conn.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
omhiaaxx

omhiaaxx2#

首先,您需要扫描toll number输入,然后将其包含在查询中,使用where子句按roll number筛选结果

相关问题