From: | Karen Goh <karenworld(at)yahoo(dot)com> |
---|---|
To: | "pgsql-sql(at)lists(dot)postgresql(dot)org" <pgsql-sql(at)lists(dot)postgresql(dot)org> |
Subject: | Fw: how to resolve org.postgresql.util.PSQLException: ERROR: operator does not exist: text = integer? |
Date: | 2019-07-16 06:17:25 |
Message-ID: | 1984680550.1098414.1563257845450@mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)yahoo(dot)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 iPhone
Begin forwarded message:
On Tuesday, July 16, 2019, 1:01 PM, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
On Mon, Jul 15, 2019 at 6:59 PM Karen Goh <karenworld(at)yahoo(dot)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.
From | Date | Subject | |
---|---|---|---|
Next Message | Martin Stöcker | 2019-07-16 06:25:17 | Re: Fw: how to resolve org.postgresql.util.PSQLException: ERROR: operator does not exist: text = integer? |
Previous Message | Karen Goh | 2019-07-16 06:14:35 | Fw: how to resolve org.postgresql.util.PSQLException: ERROR: operator does not exist: text = integer? |