Hi all,
Im trying to write a PreparedStatement , to pass an update query as below
.
query = "UPDATE db_consumer SET
WENEXA_ID=?,RR_NO=?,CONSUMER_NAME=?,RESIDING_VILLAGE=?,CONTACT_NO=?,CONTACT_PERSON=?,REP_DATE=?,STATUS_ID=?
WHERE CONSUMER_ID=?";
stmt = con.prepareStatement(query);
stmt.setString(1, bean.getWenexa_id());
stmt.setString(2, bean.getRr_number());
stmt.setString(3, bean.getConsumer_name());
stmt.setString(4, bean.getResiding_village());
stmt.setString(5, bean.getContact_no());
stmt.setString(6, bean.getContact_person());
if (bean.getRep_date() == null || bean.getRep_date() == "") {
bean.setRep_date(null);
}
if (bean.getRep_date() != null) {
System.out.println("DAte before Insert" + bean.getRep_date());
dtd2 = df2.parse(bean.getRep_date());
sqlDate1 = new java.sql.Date(dtd2.getTime());
}
stmt.setDate(7, sqlDate1);
stmt.setInt(8, bean.getStatus());
stmt.setInt(9, bean.getConsumer_id());
System.out.println(stmt.toString());
stmt.executeUpdate();
However, I get an error as below.
org.postgresql.util.PSQLException: No value specified for parameter 1.
at
org.postgresql.core.v3.SimpleParameterList.checkAllParametersSet(SimpleParameterList.java:178)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:246)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
at
com.enzen.cis.dao.DAOConsumerAddEdit.updateDB(DAOConsumerAddEdit.java:253)
I'm not being able to figure out why this is happening . However, when I try
to run the query printed by the toString() method at the database, it works
perfectly . Am I missing something in the syntax?
Thank you for your time.
--
View this message in context:
http://postgresql.1045698.n5.nabble.com/Update-Prepared-Statement-Error-tp4725545p4725545.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.