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