Обсуждение: Problem with string parameters
Can anyone help with this?
I am using Postgres 7.4.13 JDBC interface and I get
"PSQLException: Parameter index out of range."
The query is:
INSERT INTO shm_log_sources
SELECT ? as name, ci.source_id, true as active, true as monitor,
0 as alerts_sent, '' as comment
FROM shm_current_ids ci LEFT OUTER JOIN shm_log_sources ls
ON ci.source_id = ls.source_id AND ls.name = ?
WHERE ls.active IS NULL
The code does
pStmt = conn.prepareStatement(query);
pStmt.clearParameters();
...
int paramNo = 1;
pStmt.setString(paramNo, monitorName);
...
paramNo++;
pStmt.setString(paramNo, monitorName);
Where monitorName is the String "SourceHealth"
Why do I get the exception?
Il giorno sab, 24/03/2007 alle 12.35 -0700, RichT ha scritto: > Can anyone help with this? > > I am using Postgres 7.4.13 JDBC interface and I get > "PSQLException: Parameter index out of range." > > The query is: > INSERT INTO shm_log_sources > SELECT ? as name, ci.source_id, true as active, true as monitor, > 0 as alerts_sent, '' as comment > FROM shm_current_ids ci LEFT OUTER JOIN shm_log_sources ls > ON ci.source_id = ls.source_id AND ls.name = ? > WHERE ls.active IS NULL [...] I think you may only bind variable in the WHERE clause. You cannot bud variable in the SELECT part. Bye, Giuseppe