Re: Would like to know what is the problem in my sql statement

"Juan C. Olivares" <[email protected]> Thu, 11 Jul 2019 19:11:27 -0700
Newsgroups gmane.comp.db.postgresql.sql
Message-ID <CANOyrUhbsQqdCkUUPpHhMLFaUmEFT2m6=apcCFH5r2bv4Uh0QQ@mail.gmail.com>
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 <[email protected]> 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