Re: Would like to know what is the problem in my sql statement - Mailing list pgsql-sql

From Juan C. Olivares
Subject Re: Would like to know what is the problem in my sql statement
Date
Msg-id CANOyrUhbsQqdCkUUPpHhMLFaUmEFT2m6=apcCFH5r2bv4Uh0QQ@mail.gmail.com
Whole thread Raw
In response to Would like to know what is the problem in my sql statement  (Karen Goh <karenworld@yahoo.com>)
List pgsql-sql
Karen:

Can you just print sql1 to see which SQL statement are you executing?

On Thu, Jul 11, 2019 at 7:04 PM Karen Goh <karenworld@yahoo.com> wrote:
Hi,

I hope that I am in the right forum because I am using pgAdmin4 running on Windows 10 to manage my database.
However, the question I have is to do with a sql that is not working out quite right hence this forum.


The error I am getting is
org.postgresql.util.PSQLException: No value specified for parameter 1.
        at org.postgresql.core.v3.SimpleParameterList.checkAllParametersSet(SimpleParameterList.java:257)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:290)
        at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
        at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
        at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:118)
        at Controller.searchController.processRequest(searchController.java:123)
        at Controller.searchController.doGet(searchController.java:77)

Basically, I am trying to retrieve from a table which contains the id and also the subjects as per the user input parameterValues.

Here's my code snippet.

Please tell me why it says no value specified for parameter 1.

HashMap<Integer, ArrayList<String>> tutorSubject = new HashMap<Integer, ArrayList<String>>();

String sql1 = "select tutor_id, subject_name from tutor_subject where subject_name in ("
                                                       + builder.deleteCharAt( builder.length() -1 ).toString() + ")";                           

                                PreparedStatement ps2 = connection.prepareStatement(sql1);                                     

                                rs = ps2.executeQuery();                               
                                if (rs.next()) {
                                while(rs.next()) {
                        //      System.out.println("tutor ID=" + rs.getInt("tutor_id") + ", subjectName=" + rs.getString("subject_name"));
                                        for( Object o : subjs ) {
                                        int tutor_id = rs.getInt(1);
                                        ps2.setInt(1, tutor_id);
                                        int index = 1;                                                 

                                        for( Object o : subjs ) {
                                        ps2.setObject(index++, o );
                                        for (int j = 0; j < tutorSubject.put(tutor_id, (ArrayList<String>) o).size(); j++) {

                                        tutorSubject.put(tutor_id, (ArrayList<String>) o);
                                        }




--
Atte,
Juan Cristóbal Olivares

pgsql-sql by date:

Previous
From: Karen Goh
Date:
Subject: Would like to know what is the problem in my sql statement
Next
From: "David G. Johnston"
Date:
Subject: Would like to know what is the problem in my sql statement