不知道为什么 没办法ResultSet rs= pst.executeQuery();而必须要强制转换

解决方案 »

  1.   

    看你执行的sql语句啊。
    如果你执行的是select语句,返回的就是结果集,可以用ResultSet接收;
    如果你执行的是其他语句,比如insert,update..返回的是int类型。
      

  2.   

    String sql = "select sname,age,cphone,ccollege,cposition from `t_student` where sname=(?)";
    我做的是查询语句啊
      

  3.   

    // 删除的监听
    if (source == sure3Button)
    { PreparedStatement pst = null;
    ResultSet rs = null; try
    {
    Class.forName("com.mysql.jdbc.Driver");
    // 3、连接数据库,获取数据库连接
    conn = DriverManager.getConnection(
    "jdbc:mysql://192.168.9.211:3306/students", "root",
    "wuxiniit456789");
    // 4、通过connection得到Statement,Statement可以认为是SQL的执行单元
    stmt = conn.createStatement(); String sql = "select sname,age,cphone,ccollege,cposition from `t_student` where sname=(?)"; pst = conn.prepareStatement(sql,
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    pst.setString(1, showfield.getText());
    // ResultSet rs=(ResultSet) pst.executeQuery();
    int i = 0;
    String[] s = new String[1];
    while (rs.next())
    {
    i = rs.getInt(1);
    s[0] = rs.getString(1) + rs.getString(2) + rs.getString(3)
    + rs.getString(4) + rs.getString(5); tablemodel2.addRow(s);
    } }
    catch (SQLException e1)
    {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    catch (ClassNotFoundException ee)
    {
    // TODO Auto-generated catch block
    ee.printStackTrace();
    }
    }
      

  4.   

    rs 重复定义了,能编译通过吗?
    ResultSet rs = null;
    ResultSet rs=(ResultSet) pst.executeQuery();