Could not determine data type of parameter $1 - Mailing list pgsql-jdbc

From Vincent Risi
Subject Could not determine data type of parameter $1
Date
Msg-id 44EEB4F4.2050202@bbd.co.za
Whole thread Raw
Responses Re: Could not determine data type of parameter $1  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
////////////////////////////

Using the version of the jbdc drive (postgresql-8.1dev-400.jdbc3.jar)
instead of (postgresql-8.1-407.jdbc3.jar) the code
below works. I would like to know if the code is valid or if the driver
has a problem. It fails
at
      ResultSet result = prepared.executeQuery();

////////////////////////////

========================
Extract from DataHandler
========================
...
  import java.text.SimpleDateFormat;

  public static SimpleDateFormat dateTimeFormat = new
SimpleDateFormat("yyyyMMddHHmmss");

  public static java.sql.Timestamp dateTime(String value) throws Throwable
  {
    if (value.length() == 8)
      value += "000000";
    java.util.Date date = dateTimeFormat.parse(value);
    return new java.sql.Timestamp(date.getTime());
  }

==================================
Extract from inherited data record
==================================
...
    public String cashier;
    public String terminalId;
    public String actionDateFrom;
    public String actionDateTo;
    public double receiptTotal;
    public double removalTotal;

=========================================
Function or method where the error occurs
=========================================
...
    public boolean pettyCash() throws Throwable
    {
      String statement =
      "select CashierUserid, CashierTerminalId, ?, ?, 0,
sum(CashierTotalRemoved) "
      +_EOL_+ "from ReceiptRemoval "
      +_EOL_+ "where RemovalType = 'P' "
      +_EOL_+ "and CashierUserid = ? "
      +_EOL_+ "and CashierTerminalId = ? "
      +_EOL_+ "and ActionDate > ? "
      +_EOL_+ "and ActionDate <= ? "
      +_EOL_+ "group by CashierUserid, CashierTerminalId "
      ;
      PreparedStatement prepared = connector.prepareStatement(statement);
      prepared.setTimestamp(1, DataHandler.dateTime(actionDateFrom));
      prepared.setTimestamp(2, DataHandler.dateTime(actionDateTo));
      prepared.setString(3, cashier);
      prepared.setString(4, terminalId);
      prepared.setTimestamp(5, DataHandler.dateTime(actionDateFrom));
      prepared.setTimestamp(6, DataHandler.dateTime(actionDateTo));
      ResultSet result = prepared.executeQuery();
      ResultSetMetaData _rsmd_ = result.getMetaData();
      int _columns_ = _rsmd_.getColumnCount();
      if (_columns_ != 6)
        throw new Exception("Columns Read="+_columns_+" != Expected=6");
      if (!result.next())
      {
        result.close();
        prepared.close();
        return false;
      }
      cashier = result.getString(1);
      terminalId = result.getString(2);
      actionDateFrom = DataHandler.dateTime(result.getTimestamp(3));
      actionDateTo = DataHandler.dateTime(result.getTimestamp(4));
      receiptTotal = result.getDouble(5);
      removalTotal = result.getDouble(6);
      result.close();
      prepared.close();
      return true;
    }

///////////////////////////////////

pgsql-jdbc by date:

Previous
From: Rich Rutkowski
Date:
Subject: XA Resources
Next
From: Oliver Jowett
Date:
Subject: Re: XA Resources