Could not determine data type of parameter $1

From: Vincent Risi <vince(at)bbd(dot)co(dot)za>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Could not determine data type of parameter $1
Date: 2006-08-25 09:00:45
Message-ID: 44EEBC3D.3040303@bbd.co.za
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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

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;
}

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

Browse pgsql-bugs by date

  From Date Subject
Next Message Franco Malerba 2006-08-25 10:13:09 BUG #2590: Create a Slony-i Cluster in PgAdmin III
Previous Message Caitie Humphrey 2006-08-23 18:57:59 BUG #2589: corrupt file