需要帮助(corejava)

需要帮助(corejava),java,Java,我在运行此代码时遇到异常1。请查看try块中是否有任何错误…… Try { pst=con.prepareStatement("SELECT Name,Roll,Semester,Address,Phoneno," + "E-mailId,Gender,DOB,Result FROM stud WHERE Roll = ?"); pst.setString(1,s2); ResultSet rs=pst.executeQuery(); while

我在运行此代码时遇到异常1。请查看try块中是否有任何错误……

Try
{ 
    pst=con.prepareStatement("SELECT Name,Roll,Semester,Address,Phoneno," +
        "E-mailId,Gender,DOB,Result FROM stud WHERE Roll = ?");
    pst.setString(1,s2);
    ResultSet rs=pst.executeQuery();
    while(rs.next())
    {
        s2=rs.getString("Roll");
        String s1=rs.getString("Name");
        String s3=rs.getString("Semester");
        String s4=rs.getString("Address");
        String s5=rs.getString("Phoneno");
        String s6=rs.getString("E-mailId");
        String s7=rs.getString("Gender");
        String s8=rs.getString("DOB");
        String s9=rs.getString("Result");
        t1.setText(s1);
        t2.setText(s2);
        t3.setText(s3);
        t4.setText(s4);
        t5.setText(s5);
        t6.setText(s6);
        t7.setText(s7);
        t8.setText(s8);
        t9.setText(s9);
    }
    con.commit();
    con.close();
}
catch(SQLException e2)
{
    System.out.println("except1");
}

警告:我的爪哇已经生锈了-

  • 不知道字段名是否可以包含hypens,这取决于数据库
  • 打印您得到的确切异常
  • 你为什么要对SELECT进行提交
  • 确保数据库中“Roll”属性的数据类型为字符(n)。 如果是整数/数字,则使用此
    pst.setInt(1,Integer.parseInt(s2))

    确保对数据库中的所有属性使用VARCHAR数据类型。如果不是这样,则根据这些数据类型更改代码。 并在catch块中打印异常堆栈跟踪(e2.printStackTrace()),以获取异常的确切原因。
    谢谢

    Do e2.printStackTrace();一般的SQLException可以是从连接问题到SQL错误的任意数量的东西。您需要打印出异常。在System.out行之后尝试e2.printStackTrace()。将stacktrace编辑到您的问题中,您将从社区得到更好的答案。在旁注中,将您的con.close()移动到try/catch的最后{}块。这样,如果从上述块引发异常,您将始终关闭连接。如果将
    System.out.println(“except1”)
    更改为
    e2.printStackTrace()
    ,您将获得有关问题的更多信息。
        Try
        { 
            pst=con.prepareStatement("SELECT Name,Roll,Semester,Address,Phoneno," +
                "E-mailId,Gender,DOB,Result FROM stud WHERE Roll = ?");
            pst.setString(1,s2);
            string s2 = '123123'; //pass the required value to Query
            ResultSet rs=pst.executeQuery();
            while(rs.next())
            {
                //String s2=rs.getString("Roll");
                String s1=rs.getString("Name");
                String s3=rs.getString("Semester");
                String s4=rs.getString("Address");
                String s5=rs.getString("Phoneno");
                String s6=rs.getString("E-mailId");
                String s7=rs.getString("Gender");
                String s8=rs.getString("DOB");
                String s9=rs.getString("Result");
    
                t1.setText(s1);
                t2.setText(s2);
                t3.setText(s3);
                t4.setText(s4);
                t5.setText(s5);
                t6.setText(s6);
                t7.setText(s7);
                t8.setText(s8);
                t9.setText(s9);
            }
            con.commit(); // use commit only when you are doing create/update operations
            con.close();
        }
        catch(SQLException e2)
        {
            System.out.println("Error Information");
            e2.printStackTrace();// this method display the error information
        }