how to resolve org.postgresql.util.PSQLException: ResultSet notpositioned properly, perhaps you need to call next. - Mailing list pgsql-jdbc

From Karen Goh
Subject how to resolve org.postgresql.util.PSQLException: ResultSet notpositioned properly, perhaps you need to call next.
Date
Msg-id 932079842.712590.1567405714491@mail.yahoo.com
Whole thread Raw
Responses Re: how to resolve org.postgresql.util.PSQLException: ResultSet notpositioned properly, perhaps you need to call next.  (rob stone <floriparob@gmail.com>)
Re: how to resolve org.postgresql.util.PSQLException: ResultSet notpositioned properly, perhaps you need to call next.  (Rob Sargent <robjsargent@gmail.com>)
Re: how to resolve org.postgresql.util.PSQLException: ResultSet notpositioned properly, perhaps you need to call next.  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-jdbc
Hi experts,

I have been trying to find a solution in the internet but there is only 1 solution offered by stackoverflow in which
theuser uses if it is not there then use a else to print out there is no more data/row that appeared in that column.
 

Basically, I was trying to get a List<String> which meet certain search condition so the data will come from 2 tables -
oneof which is a column from a join table and the List<String> falls under this table.
 

So, here's the code that I attempt to get the data out but keep getting ResultSet not positioned properly.

    String[] subjectNames = request.getParameterValues("txtsubjects");
            String zipcode = request.getParameter("location");
            List<String> subjList = new ArrayList<String>(Arrays.asList(subjectNames));            
            List<tutor> myList = new ArrayList<>();
            ArrayList<String> subList = new ArrayList<>();
            CopyOnWriteArrayList<String>newSub = new CopyOnWriteArrayList<String>(); 
            tutor t = new tutor();

            
            String sql1 = "select t.tutor_contact_no, t.zipcode, t.tutor_id, t2.subject_name FROM s_tutor t JOIN
tutor_subjectt2  ON t.tutor_id = t2.tutor_id where t.zipcode = ?  And  t2.subject_name = Any((?))";
 
            
            PreparedStatement ps2 = connection.prepareStatement(sql1);
            ps2.setString(1, zipcode);
            for (int i = 0; i < subjectNames.length; i++) {
                Array array = connection.createArrayOf("text", subjList.toArray());
                ps2.setArray(2, array);
            }
            ResultSet rs = ps2.executeQuery();
            while (rs.next()) {        
                t.setContactNo(rs.getString("tutor_contact_no"));            
                t.setZipcode(rs.getString("zipcode"));
                t.settutor_id(rs.getInt("tutor_id"));            

               
                for (String s: subjList)
                    if (s.contains(rs.getString("subject_name")))
                      subjList.add(rs.getString("subject_name"));
                     newSub.addAll(subjList);
}
myList.add(t);                    
                request.setAttribute("tutors", myList);                       
                request.setAttribute("sub", newSub);    

Please.  I hope someone can tell me what's wrong with the code or how to overcome this error...I have been struggling
for2 weeks already.
 

Thanks.
            }
                myList.add(t);                    
                request.setAttribute("tutors", myList);                       
                request.setAttribute("sub", newSub);




pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: [pgjdbc/pgjdbc] 89464a: remove failing tests for PostgreSQL version8.3 ad...
Next
From: rob stone
Date:
Subject: Re: how to resolve org.postgresql.util.PSQLException: ResultSet notpositioned properly, perhaps you need to call next.