Fw: how to resolve org.postgresql.util.PSQLException: ERROR:operator does not exist: text = integer?
От | Karen Goh |
---|---|
Тема | Fw: how to resolve org.postgresql.util.PSQLException: ERROR:operator does not exist: text = integer? |
Дата | |
Msg-id | 1984680550.1098414.1563257845450@mail.yahoo.com обсуждение исходный текст |
Ответ на | Fw: how to resolve org.postgresql.util.PSQLException: ERROR:operator does not exist: text = integer? (Karen Goh <karenworld@yahoo.com>) |
Ответы |
Re: Fw: how to resolve org.postgresql.util.PSQLException: ERROR:operator does not exist: text = integer?
|
Список | pgsql-sql |
Hi,
This is a continuation of my last problem - not sure if I should write from there cos the first part was solved with the help from this group.
I was trying to get the matching tutor_id with the parameter values which is in this case subject_names from a table which contains both the tutor_id and the subject_names.
Here's the error message:
org.postgresql.util.PSQLException: ERROR: operator does not exist: text = integer
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Position: 69
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2433)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2178)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
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.doPost(searchController.java:108)
Here's the code snippet which I do not know where I had gone wrong:
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);
HashMap<Integer, ArrayList<String>> tutorSubject = new HashMap<Integer, ArrayList<String>>();
for(String item : subjs) {
int tutor_id = tutor.getTutor_id();
ps2.setInt(1, tutor_id);
if (item != null) {
subjs.add(item);
ps2.setString(2, item);
}
ps2.executeQuery();
while (rs.next()) {
tutor_id = rs.getInt("tutor_id");
subjs.add(rs.getString("subject_name"));
tutorSubject.put(tutor_id, subjs);
System.out.println(tutorSubject);
}
System.out.println("tutor ID=" + rs.getInt("tutor_id") + ", subjectName=" + rs.getString("subject_name"));
Hope someone could point out my mistake.
Thanks.
Sent from Yahoo Mail for iPhone
Begin forwarded message:
On Tuesday, July 16, 2019, 2:14 PM, Karen Goh <karenworld@yahoo.com> wrote:
Attn to all:For sone kind of strange reason I do not know why the mail is not sent to all.I have normally wrote n replied to the last person who wrote but yahoo mail didn’t let me write at there.Hope everyone receives this mail this time round.N please help me.Tks!
Sent from Yahoo Mail for iPhoneBegin forwarded message:
On Tuesday, July 16, 2019, 1:01 PM, David G. Johnston <david.g.johnston@gmail.com> wrote:On Mon, Jul 15, 2019 at 6:59 PM Karen Goh <karenworld@yahoo.com> wrote:
May I know why did you say I am comparing subject_name to an integer ?
I am trying to get both tutor_id and subject_name from the same table based on the no of ? in subjectName as per parameterValues.Again, you need to send messages to the mailing, not me personally.That said you might want to first figure out what:ps2.setInt(1, tutor_id);is supposed to accomplish in your code.David J.
В списке pgsql-sql по дате отправления: